效果:
使用函数前文件内容:
使用后:
若以指向标准文件的指针作为参数,可以理解为硬件设备为一个文件,将字符串输出到屏幕上(和),这个时候()和()用法是一样的,在此不再举例 。
六.()函数
()与scanf()工作方式类似,但()把FILE指针作为第一个参数 。
他将文件中的字符串作为输入传递给变量 。
如:
char ch[100];fscanf(fp,"%s",a);
以指向标准文件的指针作为参数(只有stdin):
char ch[100];fscanf(stdin,"%40s",a);//只从输入中读取40个字符(或者以回车键提前结束)
用法:
#includeint main(void){FILE *fp;char ch[1000];fp=fopen("F.txt","a+");fscanf(fp,"%s",ch);puts(ch);}
文章插图
效果:
以stdin作为参数:
#includeint main(void){FILE *fp;char ch[1000];// fp=fopen("F.txt","a+");fscanf(stdin,"%s",ch);puts(ch);}
效果:
七.fgets()函数
它的第一个参数表示存储输入位置的地址(char*类型);第二个参数是一个整数,表示待输入字符串的大小;最后一个参数是一个指针,指定带读取的文件 。(从一个文件中读取字符串,存储到第一个参数指向的内存块中(就是存在一个字符数组里)) 。
下面是一个调用该函数的例子:
int STLEN=?;char ch[];fgets(ch,STLEN,fp);
fgets()函数读取输入直到第一个换行符后面(指以stdin作为最后一个参数的情况),或读到文件结尾,或者读到STLEN-1个字符(以上面的fgets()为例) 。然后,fgets()在末尾添加一个空字符使之成为一个字符串 。字符串的大小是其字符数加上一个空字符 。如果fgets()在读到字符上限之前已读完一行,它会把表示结尾的换行符放在空字符前面 。fgets()函数在遇到EOF时将返回NULL值,可以利用这一机制检查是否到达文件结尾;如果为遇到EOF则返回之前传给它的地址 。
用法:
#includeint main(void){FILE *fp;char ch[1000];fp=fopen("F.txt","a+");fgets(ch,100,fp);puts(ch);}
效果:
以指向标准文件的指针作为参数(stdin):
#includeint main(void){FILE *fp;char ch[1000];// fp=fopen("F.txt","a+");fgets(ch,100,stdin);//回车结束puts(ch);}
效果:
八.fputs()函数
fputs()函数接受两个参数:第一个是字符串地址;第二个是文件指针 。该函数根据传入地址找到的字符串写入指定的文件中 。和puts()函数不同,fputs()在打印字符串时不会在末尾添加换行符 。(将字符串输出到文件中)
下面是使用该函数的例子:
char ch[];fputs(ch,fp);
由于fgets()保留了换行符 。fputs()就不会再添加换行符(就把fgets()获取的换行符直接输出就好了),他们配合的非常好 。
用法:
#includeint main(void){FILE *fp;char ch[]="\nyouxiu";fp=fopen("F.txt","a+");fputs(ch,fp);}
运行前:
运行后:
以指向标准文件的指针作为参数:
#includeint main(void){FILE *fp;char ch[]="\nyouxiu";// fp=fopen("F.txt","a+");fputs(ch,stdout);}
效果:
九.fseek()函数
- chk文件怎么恢复?chk文件恢复软件哪个好?
- 含Keil程序和Proteus文件 【毕设】51单片机红外计数器
- Webstorm2018 常用快捷键 和 常见配置
- java boundary_上传文件multipart form
- boundary函数寻找三维平面点云精确边界(一)
- HttpClient 上传文件接口报错“missing content
- 七 VUE 实现 Studio 管理后台:树形结构,文件树
- C#使用Expand、Shell32解压Cab、XSN文件
- bat文件注册到服务器,将BAT文件注册为服务的方法
- 文件形式是指什么