您的位置:首页 > 其它

《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。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: