- 简介
- C常用的内置函数
- I/O相关的接口
- 拷贝、比较等的接口
- *** 作堆空间相关接口
前面总结了c、c++中用来存储数据的常用容器,接着就是如何处理容器里的数据的问题,即方法(函数),也就是我们常说的接口。特别是刚开始学习c时,容易将众多输入、输出函数搞混,特此总结。
输入输出首先要分清楚对象,即从哪里输入,从哪里读的;输出到哪里去,即写到哪里。按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);
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)