写入和读取某个文件
Write and read from some file
我有一个类似的代码。
#include <stdio.h>
int main() {
FILE* file = fopen("file.txt", "w+");
fputc('A', file);
fflush(file);
char buff;
fscanf(file, "%s", &buff);
printf("read data: %s", &buff);
fclose(file);
return 0;
}
我想在不关闭文件的情况下读取写入的数据。但实际上不存在数据。
为什么?
如果我在写入后关闭文件然后读取所有工作。
您应该使用 rewind(file)
将与文件流关联的位置指示符设置为文件的开头。
您的示例运行良好:
#include <stdio.h>
int main() {
FILE* file = fopen("file.txt", "w+");
fputc('A', file);
fflush(file);
rewind (file);
char buff [80];
fscanf(file, "%s", buff);
printf("read data: %s", buff);
fclose(file);
return 0;
}
倒回文件开头:
rewind(file);
我有一个类似的代码。
#include <stdio.h>
int main() {
FILE* file = fopen("file.txt", "w+");
fputc('A', file);
fflush(file);
char buff;
fscanf(file, "%s", &buff);
printf("read data: %s", &buff);
fclose(file);
return 0;
}
我想在不关闭文件的情况下读取写入的数据。但实际上不存在数据。 为什么? 如果我在写入后关闭文件然后读取所有工作。
您应该使用 rewind(file)
将与文件流关联的位置指示符设置为文件的开头。
您的示例运行良好:
#include <stdio.h>
int main() {
FILE* file = fopen("file.txt", "w+");
fputc('A', file);
fflush(file);
rewind (file);
char buff [80];
fscanf(file, "%s", buff);
printf("read data: %s", buff);
fclose(file);
return 0;
}
倒回文件开头:
rewind(file);