fprintf()函数用于将格式化的数据写入文件中,它的原型为:
int fprintf(FILE *stream, const char *format, ...)
其中,stream是指向 FILE 对象的指针,format 是一个格式化字符串,… 是可选的参数列表,用于填充格式化字符串中的占位符。
示例:
假设有一个名为 data.txt 的文件,我们要向其中写入一些数据,可以使用 fprintf() 函数来实现:
#includeint main() { FILE *file = fopen("data.txt", "w"); if (file == NULL) { printf("无法打开文件\n"); return 1; } int num1 = 10; float num2 = 3.14; char str[] = "Hello"; fprintf(file, "整数:%d\n", num1); fprintf(file, "浮点数:%f\n", num2); fprintf(file, "字符串:%s\n", str); fclose(file); return 0; }
这样,程序会将整数、浮点数和字符串按照指定的格式写入到 data.txt 文件中。
而 fscanf() 函数用于从文件中读取格式化数据,它的原型为:
int fscanf(FILE *stream, const char *format, ...)
其中,stream 是指向 FILE 对象的指针,format 是一个格式化字符串,… 是可选的指针参数,用于接收读取的数据。
示例:
假设有一个名为 data.txt 的文件,文件内容如下:
整数:10 浮点数:3.14 字符串:Hello
现在我们想要从文件中读取这些数据,可以使用 fscanf() 函数来实现:
#includeint main() { FILE *file = fopen("data.txt", "r"); if (file == NULL) { printf("无法打开文件\n"); return 1; } int num1; float num2; char str[100]; fscanf(file, "整数:%d", &num1); fscanf(file, "浮点数:%f", &num2); fscanf(file, "字符串:%s", str); printf("整数:%d\n", num1); printf("浮点数:%f\n", num2); printf("字符串:%s\n", str); fclose(file); return 0; }
这样,程序会从 data.txt 文件中读取整数、浮点数和字符串,并将它们输出到控制台上。