在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,这样字符串就会打印在终端上。
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()函数从标准输入设备,也就是从键盘上读取的三个字符串了
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/qq_20222919/article/details/121079036
内容来源于网络,如有侵权,请联系作者删除!