📅  最后修改于: 2023-12-03 14:40:25.185000             🧑  作者: Mango
在C语言中,我们经常需要将数据从内存中输出到文件中,或从文件中读取数据存储到内存中。这时候就需要用到C标准库提供的fprintf()和fscanf()函数。
fprintf()函数用于向文件中输出格式化的数据。其语法如下:
int fprintf(FILE *stream, const char *format, ...);
其中,stream是指向文件的指针,format是输出格式字符串,后面的...表示可变参数列表,表示要输出的数据。
例如,我们想将一个整数num输出到文件中,可以这样写:
#include <stdio.h>
int main()
{
int num = 123;
FILE *fp = fopen("data.txt", "w");
if(fp == NULL)
{
printf("无法打开文件\n");
return 1;
}
fprintf(fp, "num = %d\n", num);
fclose(fp);
return 0;
}
在上面的例子中,我们将文件名为data.txt的文件以写入的方式打开,然后将num输出到文件中。最后记得关闭文件。
fscanf()函数用于从文件中读取格式化的数据。其语法如下:
int fscanf(FILE *stream, const char *format, ...);
其中,stream是指向文件的指针,format是输入格式字符串,后面的...表示可变参数列表,表示要读取的数据。
例如,我们从文件中读取一个整数num,可以这样写:
#include <stdio.h>
int main()
{
int num;
FILE *fp = fopen("data.txt", "r");
if(fp == NULL)
{
printf("无法打开文件\n");
return 1;
}
fscanf(fp, "num = %d\n", &num);
printf("num = %d\n", num);
fclose(fp);
return 0;
}
在上面的例子中,我们将文件名为data.txt的文件以读取的方式打开,然后从文件中读取num的值。最后记得关闭文件,并输出读取到的num。
需要注意的是,读取格式字符串中的占位符要与要读取的数据类型匹配,否则程序会出现错误。
C中的fprintf()和fscanf()函数常用于文件输入输出,可以方便地将数据存储到文件中或从文件中读取数据。在使用时,需要注意格式字符串中的占位符要与要输入或输出的数据类型匹配,以避免程序错误。