#c语言# 文件相关问题


#include 
int main()
{
    int a = 1, b = 2 + 1, c = 2;
    FILE* fp;
    fp = fopen("tt.txt", "w+");
    fprintf(fp, "%d%d%d", a, b, c);
    rewind(fp);
    fscanf(fp, "%d%d%d", &c, &b, &a);  // 这里没有看懂
    printf("%d,%d,%d", a, b, c);
    return 0;
}

第一行:引入头文件<stdio.h>
第二行:定义主函数int main()
第三行:定义三个变量a、b、c,分别赋值为1、2+1、2
第四行:定义一个指向FILE类型的指针变量fp
第五行:用fopen函数打开一个名为"tt.txt"的文件,以"w+"模式打开,并把文件指针赋值给fp
第六行:用fprintf函数向文件中写入三个整数,格式为"%d%d%d",分别为a、b、c的值
第七行:用rewind函数把文件指针移动到文件开头
第八行:用fscanf函数从文件中读取三个整数,格式为"%d%d%d",并将读取的值赋值给c、b、a
第九行:用printf函数输出a、b、c的值,格式为"%d,%d,%d"
第十行:返回0,表示程序运行结束

fscanf和scanf一样
scanf是从控制台里读数据
fscanf是从文件里读数据
所以fscanf第一个参数是文件指针,后面就跟scanf完全一样了