编程二大问题—c的常用库函数总结

编程二大问题—c的常用库函数总结,第1张

文章目录
  • 简介
  • C常用的内置函数
    • I/O相关的接口
    • 拷贝、比较等的接口
    • *** 作堆空间相关接口

简介

前面总结了c、c++中用来存储数据的常用容器,接着就是如何处理容器里的数据的问题,即方法(函数),也就是我们常说的接口。特别是刚开始学习c时,容易将众多输入、输出函数搞混,特此总结。

C常用的内置函数 I/O相关的接口

输入输出首先要分清楚对象,即从哪里输入,从哪里读的;输出到哪里去,即写到哪里。按I/O的对象分类如下:

  • 标准输入、输出流(stdin、stdout)
    scanf(); printf();
     int scanf(const char* format, …);
     int printf(const char* format, …);
    getchar(); putchar(); gets(); puts(); (专门针对字符的)
     int getchar(void); //吸收空格和回车
     int putchar(int character);

     char *gets(char *str); //吸收空格,不吸收回车
     int puts(const char *str);

     scanf("%s", str); //不吸收空格和回车
     printf("%s", str);

  • char* 流
    sscanf(); sprintf( ); snprintf();
     int sscanf(const char *str, const char *format, …);
     int sprintf(char *str, const char format, …);
     int snprintf(char * str, size_t n, const char
    format, …);//Maximum number of bytes to be used in the buffer.

  • 文件流(FILE*)
    fscanf(); fprintf();
      int fscanf ( FILE * stream, const char * format, … );
      int fprintf ( FILE * stream, const char * format, … );
    fgetc();fputc(); fgets();fputs();(专门针对字符的)
      int fgetc(FILE *stream);
      int fputc(int character, FILE *stream);
      char *fgets(char *str, int num, FILE *stream);//Maximum number of characters to be copied into str (including the terminating null-character).
      int fputs(char *str, FILE *stream);
    fwrite();fread();(以二进制的形式存储)
     size_t fread(void *ptr, size_t size, size_t count, FILE *stream);//count个模块,每个模块size个字节大小
     size_t fwrite(const void *ptr, size_t size, size_t count, FILE *stream);
    write();read();(系统的读写函数)
     size_t read(int fd, void *buf, size_t count);//count bytes
     size_t write(int fd, const void *buf, size_t count);

拷贝、比较等的接口
  • strcpy,strncpy;strcmp,strncmp;strcat;strlen;
     char * strcpy ( char * destination, const char * source );
     char * strncpy ( char * destination, const char * source, size_t num ); //num:Maximum number of characters to be copied from source.
  • memcpy,memcmp
     void * memcpy (void * destination, const void * source, size_t num); //num:Number of bytes to copy.
     int memcmp (const void * ptr1, const void * ptr2, size_t num);
*** 作堆空间相关接口
  • malloc(); calloc();
    void* malloc (size_t size);
    void* calloc (size_t num, size_t size); //num个模块,每个模块size个字节大小
  • memset();
    void * memset (void * ptr, int value, size_t num);

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/676130.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-19
下一篇 2022-04-19

发表评论

登录后才能评论

评论列表(0条)

保存