文件操作有三种,关于输出方式:其中freopen两种都能用,fopen只能用printf/scanf, fstream只能用cout/cin.
(一)重定向版
【头文件】<cstdio>
【格式】:FILE * freopen(const char * filename, const char * mode, FILE * stream);
1 输入:freopen(“name.in”, “r”, stdin);
2 输出:freopen(“name.out”, “w”, stdout);
*注1:stdin、stdout为标准输入、输出流.
*注2:FILE* 类型是文件指针.
freopen的好处是可以直接使用cin, cout, printf,scanf等.
注意最后关闭文件流:
fclose(stdin);
fclose(stdout);
(二)Fopen版
【头文件】<cstdio>
【格式】FILE *fopen(const char * filename, const char * mode)
FILE * Fin = fopen(“name.in”, “r”);
FILE * Fout = fopen(“name.out”, “w”);
输入输出需要用fscanf, fprintf, fgets, fgetc, fputc等(都在<cstdio>中):
fscanf(Fin, “%d”, &a);
fprintf(Fout, “%d”, a);
注意最后关闭文件流:
fclose(Fin);
fclose(Fout);
(三)文件输入输出流版
【头文件】<fstream>
【格式】:
ifstream fin(“name.in”);
ofstream fout(“name.out”);
输入输出:同cin, cout
fin >> a;
fout << a << endl;
注意最后关闭文件流:
fin.close();
fout.close();
###