《c和指针》笔记--梳理一下fgetc,getc,getchar,fputc,putc,putchar....
2013-05-20 22:47
260 查看
输入输出函数家族
家族名 目的 可用于所有的流 只用于stdin和stdout
getchar 字符输入 fgetc,getc getchar
putchar 字符输出 fputc,putc putchar
gets 文本行输入 fgets gets
puts 文本行输出 fputs puts
scanf 格式化输入 fscanf scanf
printf 格式化输出 fprintf printf
注意点:
fgetc和fputc都是真正的函数,但是getc,putc,getchar和putchar都是通过#define指令定义的宏,
所以在调用getc,putc,getchar和putchar时不能使用具有副作用的参数。
fgets的用法如下:
CHAR *fgets(CHAR *string,int n,FILE *stream);
fgets()用来从参数stream所指的文件内读入字符并存到参数string所指的内存空间,直到出现换行字符、读到文件尾或是已读了n-1个字符为止,最后会加上NULL作为字符串结束。如果在未读满n-1个字符之时,读到一个换行符或一个EOF(文件结束标志),则结束本次读操作,读入的字符串中最后包含读到的换行符,再有一个字符为NULL。如果string无法存放整行,则下一次调用fgets时将从stream的下一个字符开始读取,不会出现数据丢失的情况。
fputs向指定的文件写入一个字符串(不自动写入字符串结束标记符‘\0’)
gets从stdin流中读取字符串,直至接受到换行符或EOF时停止,并将读取的结果存放在str指针所指向的字符数组中。换行符不作为读取串的内容,读取的换行符被转换为null值,并由此来结束字符串。
gets函数不安全,没有限制输入缓冲区的大小,容易造成溢出,所以尽量不要使用gets。
家族名 目的 可用于所有的流 只用于stdin和stdout
getchar 字符输入 fgetc,getc getchar
putchar 字符输出 fputc,putc putchar
gets 文本行输入 fgets gets
puts 文本行输出 fputs puts
scanf 格式化输入 fscanf scanf
printf 格式化输出 fprintf printf
注意点:
fgetc和fputc都是真正的函数,但是getc,putc,getchar和putchar都是通过#define指令定义的宏,
所以在调用getc,putc,getchar和putchar时不能使用具有副作用的参数。
fgets的用法如下:
CHAR *fgets(CHAR *string,int n,FILE *stream);
fgets()用来从参数stream所指的文件内读入字符并存到参数string所指的内存空间,直到出现换行字符、读到文件尾或是已读了n-1个字符为止,最后会加上NULL作为字符串结束。如果在未读满n-1个字符之时,读到一个换行符或一个EOF(文件结束标志),则结束本次读操作,读入的字符串中最后包含读到的换行符,再有一个字符为NULL。如果string无法存放整行,则下一次调用fgets时将从stream的下一个字符开始读取,不会出现数据丢失的情况。
fputs向指定的文件写入一个字符串(不自动写入字符串结束标记符‘\0’)
gets从stdin流中读取字符串,直至接受到换行符或EOF时停止,并将读取的结果存放在str指针所指向的字符数组中。换行符不作为读取串的内容,读取的换行符被转换为null值,并由此来结束字符串。
gets函数不安全,没有限制输入缓冲区的大小,容易造成溢出,所以尽量不要使用gets。
相关文章推荐
- 非格式化输入输出getc、fgetc、getchar、putc、fputc、putchar
- fgetc getc getchar fputc putc putchar
- fgetc,getc,getchar,fputc,putc和putchar函数的介绍及易犯的错误
- fgetc,getc,getchar,fputc,putc,putchar总结
- 5.6 getc/putc、fgetc/fputc和getchar/putchar-流的单字符读写
- C语言中fgetc、fputc和getc、putc的区别是什么
- fgets, fputs, ferror, feof, stdin, stdout, EOF, fopen, fclose, fgetc, fputc, getchar, putchar
- C语言中fgetc、fputc和getc、putc的区别是什么
- Linux C 文件输入输出函数 fopen()、getc()/fgetc()、putc()/fputc()、fclose()、fprintf()、fscanf()、fgets()、fputs()、fseek()、ftell()、fgetpos()、fsetpos() 详解
- 输入和获取字符的使用(putchar,getchar,puts,gets,fputc,fgetc,fscanf,fprintf)
- C语言中fgetc、fputc和getc、putc的区别是什么
- C语言中文件的读写(fputc和fgetc)(putchar和getchar)
- getc,getch,getche,getchar,fgetc
- C语言学习笔记之字符I/O(getchar()函数与putchar()函数)
- 区分C语言中getch、getche、fgetc、getc、getchar、fgets、gets
- fgetc fputc fgets fputs fprintf fscanf getc getchar gets putc putchar puts ungetc函数介绍
- 从头认识C—fgetc, fgets, getc, getchar, gets介绍
- getc、fgetc、getchar、ungetc
- 问c语言库函数strcpy、strcat、sprintf、vsprintf、gets、scanf、getc、fgetc、getchar哪些有缓冲区溢出
- 区分C语言中getch、getche、fgetc、getc、getchar、fgets、gets