データサイエンティスト(仮)

元素粒子論博士。今はデータサイエンティスト(仮)。

久々に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! // やっぱりファイルには自明な言葉が保存されていました

となり、ちょっとだけ非自明に自明な言葉を発してくれます。

自明な所感

リハビリとはいえ非常にしょうもないことしかやってません。とはいえ自分の備忘録的にやっているので気にせず進める。