fgets函数与fputs函数
来源:互联网 发布:网络剧受众群体. 编辑:程序博客网 时间:2024/06/05 14:41
fgets()函数中,第一个参数指针需要我们事先分配好大小。另外,fgets()函数不适合取二进制的文件,这样,容易发生错误。
注:fgets从指定的文件中读一行字符到调用者提供的缓冲区中,gets从标准输入读一行字符到调用者提供的缓冲区中。
#include <stdio.h>
fputs向指定的文件写入一个字符串,puts向标准输出写入一个字符串。
#include <stdio.h>
int fputs(const char *s, FILE *stream);
int puts(const char *s);
返回值:成功返回一个非负整数,出错返回EOF
缓冲区s中保存的是以'\0'结尾的字符串,fputs将该字符串写入文件stream,但并不写入结尾的'\0'。与fgets不同的是,fputs并不关心的字符串中的'\n'字符,字符串中可以有'\n'也可以没有'\n'。puts将字符串s写到标准输出(不包括结尾的'\0'),然后自动写一个' \n'到标准输出。
注:fgets从指定的文件中读一行字符到调用者提供的缓冲区中,gets从标准输入读一行字符到调用者提供的缓冲区中。
#include <stdio.h>
char *fgets(char *s, int size, FILE *stream);
功能:从文件流读取一行,送到缓冲区,使用时注意以下几点:
1.当遇到换行符或者缓冲区已满,fgets就会停止,返回读到的数据,值得注意的是不能用fgets读二进制文件,因为fgets会把二进制文件当成文本文件来处理,这势必会产生乱码。
2.每次调用,fgets都会把缓冲区的最后一个字符设为null,这意味着最后一个字符不能用来存放需要的数据,所以如果有一行,含有LINE_SIZE个字符(包括换行符),要想把这行读入缓冲区,请把参数n设为LINE_SIZE+1
3. 由结论1可推出:给定参数n,fgets只能读取n-1个字符(包括换行符),如果有一行超过n-1个字符,那么fgets返回一个不完整的行,也就是说,只读取该行的前n-1个字符,但是,缓冲区总是以null字符结尾,对fgets的下一次调用会继续读该行。
fputs向指定的文件写入一个字符串,puts向标准输出写入一个字符串。
#include <stdio.h>
int fputs(const char *s, FILE *stream);
int puts(const char *s);
返回值:成功返回一个非负整数,出错返回EOF
缓冲区s中保存的是以'\0'结尾的字符串,fputs将该字符串写入文件stream,但并不写入结尾的'\0'。与fgets不同的是,fputs并不关心的字符串中的'\n'字符,字符串中可以有'\n'也可以没有'\n'。puts将字符串s写到标准输出(不包括结尾的'\0'),然后自动写一个' \n'到标准输出。
- fgets函数与fputs函数
- fgets函数与fputs函数
- fgets函数与fputs函数
- fgets函数与fputs函数
- fgets函数与fputs函数
- fgets函数与fputs函数
- fgets函数与fputs函数
- fgets(),fputs(),字符串函数
- fgets函数 和 fputs
- fgets 和fputs函数
- fgets()和fputs()函数
- fgets() - fputs()函数使用
- fgets()与fputs()函数
- fgets()函数和fputs函数
- C语言 fgets函数与fputs函数用法
- C语言 fgets函数与fputs函数用法
- C语言字符串与文件读写函数 fgets(),fputs()......
- 字符串读写函数 fgets和fputs 函数
- 对面向对象的一些思考
- 嵌入式Linux之我行——RamDisk块设备驱动实例开发讲解
- Java实训笔记(四)
- Uva 167 The Sultan's Successors
- 网络篇——七层协议、四层协议、TCP、HTTP、SOCKET、长短连接
- fgets函数与fputs函数
- Uva 10344 23 out of 5
- Spring系列(3/2)---交互的改进
- QQ通信原理及QQ是怎么穿透内网进行通信的?(关于P2P)
- 静态数组实现循环队列
- Apt-get详解及新立德
- 动态数组实现循环队列
- hdu 3932 Groundhog Build Home
- 使用单链表实现链队列