web-dev-qa-db-ja.com

ファイルの終わりに文字列を書き込む(C ++)

既存のテキストファイルの最後にストリームしたい文字列を含むプログラムが既に形成されています。私が持っているものはすべてこれです:(C++)

 void main()
{
   std::string str = "I am here";
   fileOUT << str;
}

これに追加すべきことがたくさんあることを私は理解しています。私に人々にコーディングを求めているようであるとすれば謝罪しますが、このタイプのプログラミングをこれまで行ったことがないため、完全に迷っています。

私はインターネットで出会ったさまざまな方法を試してみましたが、これが機能し、多少慣れている最も近いものです。

17
ked

std::ios::appを使用してファイルを開きます

 #include <fstream>

 std::ofstream out;

 // std::ios::app is the open mode "append" meaning
 // new data will be written to the end of the file.
 out.open("myfile.txt", std::ios::app);

 std::string str = "I am here.";
 out << str;
32
Chad

ファイルの最後にコンテンツを追加するには、ofstreamモード(appendの略)でappout file streamの略)を使用してファイルを開くだけです。

#include <fstream>
using namespace std;

int main() {
    ofstream fileOUT("filename.txt", ios::app); // open filename.txt in append mode

    fileOUT << "some stuff" << endl; // append "some stuff" to the end of the file

    fileOUT.close(); // close the file
    return 0;
}
6
Seth Carnegie

追加としてストリームを開きます。ストリームに書き込まれた新しいテキストは、ファイルの最後に書き込まれます。

2
Blindy

それがあなたのコード全体ではないことを願っています。もしそうなら、それには多くの問題があるからです。

ファイルに書き出す方法は次のようになります。

#include <fstream>
#include <string>

// main is never void
int main()
{
    std::string message = "Hello world!";

    // std::ios::out gives us an output filestream
    // and std::ios::app appends to the file.
    std::fstream file("myfile.txt", std::ios::out | std::ios::app);
    file << message << std::endl;
    file.close();

    return 0;
}
2
Mike Bailey