0;}簡単に説明すると、入力ファイルストリームオブジェクト「ifs」を作成し、そこに「input.txt」を紐づけている。これによって「ifs」を呼ぶことで「input.txt」の内容にアクセスできるようになる。ここで、「ifs」は「input.txt」をエディタなどで開いているとした場合に、カーソルの位置を示しているものだと考えて良い。カーソルを進められる場合には「1」、進めることができない場合には「0」を値として持っている。(要するにカーソルより後ろにデータがあれば「1」、なければ「0」である。)区切り毎に読み込む入力ファイルストリームは標準入力ストリームと同じく「>>」演算子を使うことができる。具体的には次のように書くことができる。0;}例えば次のようなファイル「input.txt」がプログラムと同じ場所にあるとする。13プログラムを実行するとHelloと表示される。これは標準入力の際と同じく、空白を区切りとみなすためである。そのため、ファイルに書かれている全ての文字列を取得したい場合には、プログラムを次のように書き換える。0;}このプログラムを実行すると、結果は次のようになる。HelloWorld!NameKtoraAge21BirthDay113またwhile文の条件に「ifs」と書いてある。これは最初に「ifs」をカーソルの位置と表現したが、「>>」演算子などを用いてファイルからデータを取り出すと、取り出した分カーソルの位置は進む。ここでカーソルが進められる状態にある場合には「1」を返し、カーソルの位置を進めることができなくなると「0」を返すことから、このような使い方をすることが可能である。ファイルを開くことができなかった場合にも「0」となるため、fail関数を使うことを推奨する。fail関数fail関数はファイルを開くことができなかった場合に「1」を返す関数で次のようにして使うことができる。オブジェクト名.fail()具体的には次のようにして使う。0;}一行ごとに読み込む一行毎に読み込む場合にはstd::getline関数を用いて次のようにすれば良い。std::getline(ファイルストリームオブジェクト名,string型変数)具体的には次のようなプログラムになる。0;}先ほどの「inputs.txt」を同じ場所において実行すると、結果は次のようになる。World!またgetline関数は一行取り出せた場合には「1」を取り出せなかった場合には「0」を返す。これを使うと次のようにすることで全文を取り出せる。0;}プログラムの実行結果は次のようになる。13ファイルの読み込みは基本的にこの二つの方法を用いて行う。ファイルへの書き込みファイルを開くファイルを書き込む際にもファイルを開く必要があり、次のようにして開くことができる。オブジェクト名(ファイル);具体的には次の通り。0;}簡単に説明すると、出力ファイルストリームオブジェクト「ofs」を作成し、そこに「output.txt」を紐づけている。これによって「ofs」を呼ぶことで「output.txt」に書き込むことができるようになる。入力ファイルストリームと同様に「ofs」もマウスカーソルのようなものと考えて良い。出力ファイルとして指定したファイルがない場合には作成される。ファイルに書き込む出力ファイルストリームは標準出力ストリームと同じく「<<」演算子を使うことができる。具体的には次のように書くことができる。0;}これを実行すると、プログラムと同じ場所に「output.txt」が作られ内容が次のようになる。World!尚、「output.txt」が既に存在した場合には、書き込んだ時点で内容を破棄する。最後に今回はここまで。長くなりそうなので、残りは別の記事で。こちらに出力ファイル操作について書いたのでぜひ。見つかりませんでした。コメントをキャンセルメールアドレスが公開されることはありません。※サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。date*日本語が含まれない投稿は無視されますのでご注意ください。10年前のマウスを分解してみた2023.07.25【雑記】Excel,Word,PowerPointを読み取り専用で開くスクリプトを作った。【C++】簡単なソケット通信プログラムを作ってみた。無料webツール置き場。動作に問題があれば連絡ください。情報系に関連しないことはこちらで。不定期更新の気ままなブログです。情報学部生の気ままなブログ.ホーム検索トップサイドバータイトルとURLをコピーしました。