文件操作其实有不少的内容要学,我也是一个初学者,以下主要说一下个人的粗浅总结和理解吧
首先第一点,输入流与输出流,刚开始其实学这个月学越懵逼,现在倒是慢慢理解了
输出流,其实就是从程序输出到屏幕,文件等的意思,所以,你要把数据保存下来的话就是在程序中使用输出流保存下需要的数据信息比方说fprintf
fprintf - 针对所有输出流的格式化输出函数
struct S s = { 100,'a',3.14f,"mxx" };
其中w的意思是写入,w还有一个作用,如果程序检测不到test.txt文件的话,会创建一个test.txt的文件
FILE* pf = fopen("test.txt", "w");
if (pf == NULL)
{
perror("fopen");
return 1;
}
fprintf(pf, "%d %c %f %s", s.a, s.b, s.c, s.arr);
例子中是把结构体数据放入test.txt文件中
其次是输入流,输入流个人觉得主要是针对程序数据,把外部文件存储的数据放入程序中
比方说fscanf
fscanf - 针对所有输入流的格式化的输入函数
struct S s = {0};
r是只读的意思,不会改变test.txt的储存数据
FILE* pf = fopen("test.txt", "r");
if (pf == NULL)
{
perror("fopen");
return 1;
}
fscanf(pf, "%d %c %f %s", &(s.a), &(s.b), &(s.c), s.arr);
例子中是把原本放入test.txt文件中的结构体数据读取出来放入struct S s里面