久々にC++を触ってみたら自明なファイルしか読めない
動機
自明な言葉を発する営みを若干非自明にしたい。
tekenuko.hatenablog.com
自明なファイルを読むコード
非自明にする方法の一つとして、あらかじめ自明な言葉を保存したファイルを用意して、それを読み込む、というものがありえます。C++でファイルを開くときはfstreamヘッダをインクルードする必要があり、この中のifstream(インプットストリーム)を使用します。自明なコード例は以下です。
// trivialfile.cpp # include <iostream> # include <string> # include <fstream> // ファイルを開くときに必要 using namespace std; int main(){ // 読み込み ifstream ifs("trivial.txt"); // 読み込みできたかを判定 if(ifs.fail()){ cout << "自明な読み込みに失敗しました" << endl; } else{ string str; // 一行読み込み getline(ifs, str); cout << str << endl; } ifs.close(); // 勝手に閉じるのでなくても問題ない return 0; }
ifs.close()は明示的に書かなくても勝手に閉じます。
自明な実行
trivialfileという実行ファイルを作って実行します。あらかじめtrivial.txtというファイルに自明な言葉を保存しとくと…
$ g++ -o trivialfile trivialfile.cpp
$ ./trivialfile
# 出力
Hello world! // やっぱりファイルには自明な言葉が保存されていました
となり、ちょっとだけ非自明に自明な言葉を発してくれます。
自明な所感
リハビリとはいえ非常にしょうもないことしかやってません。とはいえ自分の備忘録的にやっているので気にせず進める。