输出文件的字符串数组

时间:2012-08-08 20:04:05

标签: c++ arrays string outputstream

我正在编写一个C ++代码,我在其中动态创建了一个字符串数组。我编写了函数来输出字符串数组中的项目数以及数组本身。我想要做的下一件事是将数组的元素存储在文本文件中,但是当我打开我写入的文件时,只显示数组的最后一个元素。以下是我正在做的事情的样本:

int num_elem = ReadNumElem(); // my function that gets the number of elements in the array of strings

string *MyStringArray = ReadNames(num_elem); // my function that reads a file and outputs the necessary strings into the array

for(int i = 0; i < num_elem < ++i) {
    ofstream ofs("C:\\Test\\MyStrings.txt")
    ofs << MyStringArray[i] << endl; // I also tried replacing endl with a "\n"
}

我是C ++的新手,所以我很抱歉,如果这太简单了,但我现在已经找了一段时间,我似乎无法找到解决方案。前两个函数不相关,我只需要知道如何将数据输出到文本文件中,以便显示所有数据,而不仅仅是数组中的最后一个元素。谢谢!

2 个答案:

答案 0 :(得分:3)

每次在数组中打开文件并覆盖其内容。

尝试:

ofstream ofs("C:\\Test\\MyStrings.txt");    
for(int i = 0; i < num_elem < ++i) {

    ofs << MyStringArray[i] << endl; // I also tried replacing endl with a "\n"
}
ofs.close();

答案 1 :(得分:1)

您需要在循环之外声明文件

修改


对不起,我不打算在一行中回答,但现在已经完成了。