2種類のファイル入出力
1705 ワード
ファイルの入力と出力を利用するメリット:テストのたびに手動で入力する必要はありません.出力が多すぎて見えないようにします.
準備:debugの下に2つのファイルを作成します:input.txt(入力データを保存するファイル)output.txt(データを入力するファイル)
1.入出力リダイレクト
例:
2つ目は、ファイルが開いているか閉じているかを利用して、リダイレクトしないことです.
準備:debugの下に2つのファイルを作成します:input.txt(入力データを保存するファイル)output.txt(データを入力するファイル)
1.入出力リダイレクト
例:
#include <stdio.h>
#include <time.h>
#define MOD 100000
#define LOCAL
int main()
{
#ifdef LOCAL
// ,
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
#endif
int n, i, factorial = 1, s = 0, j;
scanf("%d", &n);
for(i = 1; i < n; i++)
{
factorial = 1;
for(j = 1; j <= i; j++)
{
factorial = factorial * j % MOD;
}
s = (s + factorial) % MOD;
}
printf("%d
", s );
printf("Time Used = %.2lf
", (double)clock() / CLOCKS_PER_SEC);
return 0;
}
2つ目は、ファイルが開いているか閉じているかを利用して、リダイレクトしないことです.
#include <stdio.h>
#include <time.h>
#define MOD 100000
int main()
{
FILE *fin, *fout;
fin = fopen("input.txt", "rb");
fout = fopen("output.txt", "wb");
int n, i, factorial = 1, s = 0, j;
fscanf(fin ,"%d", &n);
for(i = 1; i < n; i++)
{
factorial = 1;
for(j = 1; j <= i; j++)
{
factorial = factorial * j % MOD;
}
s = (s + factorial) % MOD;
}
fprintf(fout,"%d
", s );
fprintf(fout, "Time Used = %.2lf
", (double)clock() / CLOCKS_PER_SEC);
fclose(fin);
fclose(fout);
return 0;
}