推荐答案
// www.javascriptcn.com code example
#include <stdio.h>
int main() {
FILE *file;
char buffer[100];
// 打开文件
file = fopen("example.txt", "w+");
if (file == NULL) {
printf("无法打开文件\n");
return 1;
}
// 使用fprintf写入文件
fprintf(file, "Hello, World!\n");
// 使用fscanf读取文件
rewind(file); // 将文件指针重置到文件开头
fscanf(file, "%s", buffer);
printf("读取的内容: %s\n", buffer);
// 关闭文件
fclose(file);
return 0;
}本题详细解读
fscanf 函数
fscanf 函数用于从文件中读取格式化输入。它的原型如下:
int fscanf(FILE *stream, const char *format, ...);
stream:指向FILE对象的指针,表示要读取的文件。format:格式化字符串,指定如何解析输入数据。...:可变参数列表,用于存储读取的数据。
fscanf 的返回值是成功读取并赋值的输入项的数量。如果到达文件末尾或发生错误,则返回 EOF。
fprintf 函数
fprintf 函数用于将格式化输出写入文件。它的原型如下:
int fprintf(FILE *stream, const char *format, ...);
stream:指向FILE对象的指针,表示要写入的文件。format:格式化字符串,指定如何格式化输出数据。...:可变参数列表,包含要写入的数据。
fprintf 的返回值是成功写入的字符数。如果发生错误,则返回一个负值。
示例代码解析
打开文件:使用
fopen函数以读写模式打开文件example.txt。如果文件打开失败,程序会输出错误信息并退出。写入文件:使用
fprintf函数将字符串"Hello, World!\n"写入文件。读取文件:使用
rewind函数将文件指针重置到文件开头,然后使用fscanf函数读取文件中的内容并存储在buffer中。最后,使用printf函数输出读取的内容。关闭文件:使用
fclose函数关闭文件,释放资源。
注意事项
- 在使用
fscanf和fprintf时,确保文件指针有效且文件已成功打开。 - 格式化字符串中的占位符应与实际数据类型匹配,否则可能导致未定义行为。
- 在读取文件内容后,通常需要检查
fscanf的返回值以确保读取成功。