#include <iostream> #include <fstream> using namespace std; int main() { ofstream fout("test0.txt"); if(!fout){ cout << "ファイルをオープンできませんでした。\n"; return 1; } else cout << "ファイルをオープンしました。\n"; fout.close(); cout << "ファイルをクローズしました。\n"; return 0; }
ファイル出力
fout << "Hello\n"; fout << "Goodbye\n"; fout << "ファイルに書き込みました。\n";
### 書式を設定してファイル出力
#include <iostream> #include <fstream> #include <iomanip> using namespace std; int main() { ofstream fout("test0.txt"); if(!fout){ cout << "ファイルをオープンできませんでした。\n"; return 1; } else cout << "ファイルをオープンしました。\n"; const int num = 5; int test[num]; cout << num << "人の点数を入力してください。\n"; for(int i=0; i<num; i++){ cin >> test[i]; } for(int j=0; j<num; j++){ fout << "No." << j+1 << setw(5) << test[j] << '\n'; } fout.close(); return 0; }
### ファイルから入力
#include <iostream> #include <fstream> using namespace std; int main() { ifstream fin("test0.txt"); if(!fin){ cout << "ファイルをオープンできませんでした。\n"; return 1; } char str1[16]; char str2[16]; fin >> str1 >> str2; cout << "ファイルに書き込まれている2つの文字列は\n"; cout << str1 << "です。\n"; cout << str2 << "です。\n"; fin.close(); return 0; }
int main() { ifstream fin("test0.txt"); if(!fin){ cout << "ファイルをオープンできませんでした。\n"; return 1; } const int num = 8; int test[num]; for(int i=0; i<num; i++){ fin >> test[i]; } int max = test[0]; int min = test[0]; for(int j=0; j<num; j++){ if(max < test[j]) max = test[j]; if(min > test[j]) min = test[j]; cout << "No." << j+1 << setw(5) << test[j] << "\n"; } cout << "最高点は" << max << "です。\n"; cout << "最低点は" << min << "です。\n"; fin.close(); return 0; }
$ g++ -o sample sample.cpp && ./sample
No.1 80
No.2 68
No.3 22
No.4 33
No.5 56
No.6 78
No.7 33
No.8 56
最高点は80です。
最低点は22です。
### コマンドライン引数
#include <iostream> #include <fstream> using namespace std; int main(int argc, char* argv[]) { if(argc != 2) { cout << "パラメータの数が異なります。\n"; return 1; } ifstream fin(argv[1]); if(!fin){ cout << "ファイルをオープンできませんでした。\n"; return 1; } char ch; fin.get(ch); while(!fin.eof()){ cout.put(ch); fin.get(ch); } fin.close(); return 0; }
### practice
int main() { for (int i=1; i<=30; i++){ cout.width(3); cout.fill('-'); cout << i; if(i % 5 == 0) { cout << "\n"; } } return 0; }
$ g++ -o sample sample.cpp && ./sample test0.txt
–1–2–3–4–5
–6–7–8–9-10
-11-12-13-14-15
-16-17-18-19-20
-21-22-23-24-25
-26-27-28-29-30
#include <iostream> #include <fstream> #include <iomanip> using namespace std; int main(int argc, char* argv[]) { ifstream fin(argv[1]); if(!fin){ cout << "ファイルをオープンできませんでした。\n"; return 1; } const int num = 8; int test[num]; for(int i=0; i<num; i++){ fin >> test[i]; } int max = test[0]; int min = test[0]; for(int j=0; j<num; j++){ if(max < test[j]) max = test[j]; if(min > test[j]) min = test[j]; cout << "No." << j+1 << setw(5) << test[j] << "\n"; } cout << "最高点は" << max << "です。\n"; cout << "最低点は" << min << "です。\n"; fin.close(); return 0; }