#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;
}