将字符串写入文件末尾(C ++)

时间:2011-08-03 19:52:00

标签: c++ string file streaming

我已经形成了一个程序,它有一个我希望流式传输到现有文本文件末尾的字符串。我所拥有的一切都是这样的:(C ++)

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

我意识到还有很多东西需要补充,如果看起来我要求人们为我编码,我会道歉,但我完全迷失了,因为我之前从未做过这种类型的编程。

我尝试过互联网上遇到的不同方法,但这是最接近的方法,有点熟悉。

4 个答案:

答案 0 :(得分:27)

使用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;

答案 1 :(得分:5)

要将内容附加到文件末尾,只需在ofstream模式下打开app(代表输出文件流)的文件(代表追加)。

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

答案 2 :(得分:2)

打开你的流作为附加,写入的新文本将写在文件的末尾。

答案 3 :(得分:2)

我希望这不是你的整个代码,因为如果是,那就有很多问题。

您写出文件的方式如下所示:

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