C语言fprintf()函数和fscanf()函数 C语言fprintf()函数和fscanf()函数的具体使用
嵌入式@hxydj 人气:0fprintf()函数
在C语言中常用使用的打印函数是printf()函数,这个多用于给控制台打印数据,如果需要将内容直接打印到某个文件中的时候,可以使用fprintf()函数。它有两个参数,第一个参数为待写入的文件指针,第二个参数为待写入的内容。下面通过一个简单的例子来演示它的用法。
int main() { FILE *in,*out; int ret; char ch; /* 打开文件 */ in = fopen("123.txt","a+"); if(in == NULL) puts("打开失败!"); else puts("打开成功!"); fprintf(in," hello world"); /* 关闭文件 */ ret = fclose(in); if(ret == 0) puts("关闭成功!"); else puts("关闭失败!"); system("pause"); return 0; }
首先以追加的方式打开一个文本文件123.txt,然后在使用fprintf()函数向文件里面追加字符串。最后关闭打开的文件。
程序执行完成之后,打开123.txt文件,可以看到程序已经在原来的字符串后面追加了一个字符串。fprintf()函数中第一个参数的文件,不仅仅指的是文档,也可以是显示器。在C语言中键盘和显示器也可以是文件。
比如在上面的例子中,可以将fprintf()的第一个参数修改为stdout,这样字符串就会打印在终端上。
fscanf()函数
scanf()函数用于从键盘读取数据,fscanf()函数则用来从文件中读取数据。比如可以将上面的例子修改为,使用fscanf()函数从文件中读取数据。
int main() { FILE *in,*out; int ret; char ch; char str1[30],str2[30],str3[30]; /* 打开文件 */ in = fopen("123.txt","r"); if(in == NULL) puts("打开失败!"); else puts("打开成功!"); fscanf(in,"%s %s %s",str1,str2,str3); puts(str1); puts(str2); puts(str3); /* 关闭文件 */ ret = fclose(in); if(ret == 0) puts("关闭成功!"); else puts("关闭失败!"); system("pause"); return 0; }
打开123.txt文件,然后使用fscanf()函数读取文件中的字符串,然后再将读取的字符串打印出来。这里fscanf()中有三个参数,第一个参数是要读取的文件指针,第二个参数是要读取数据的格式,第三个参数是读取的数据存放位置。由于123.txt文件中总共有3组字符串,所以第二个参数里面写了三次,同样第三个参数存储字符串的数组也写了三个。因为fscanf()函数在读取字符串的时候是以空格结束的,如果只使用一个%s的话,只能读出来第一个字符串。
fscanf()函数也可以从键盘读取数据,将fscanf()函数的第一个参数改为标准输入stdin,就可以从键盘读取数据了。
运行程序后,通过键盘输入三个字符串,以空格隔开,按下回车键之后,就会打印出通过fscanf()函数从标准输入设备,也就是从键盘上读取的三个字符串了
加载全部内容