C++ C++;文本文档的字符串数组

C++ C++;文本文档的字符串数组,c++,arrays,string,C++,Arrays,String,我正在尝试创建一个程序,在输入stop命令之前输入一组数据,并将其记录到文本文档中。输入“姓氏”和“名”字段后,Microsoft Visual Studio崩溃 #include <iostream> #include <string> #include <sstream> #include <fstream> using namespace std; int main(void) { string firstName; str

我正在尝试创建一个程序,在输入stop命令之前输入一组数据,并将其记录到文本文档中。输入“姓氏”和“名”字段后,Microsoft Visual Studio崩溃

#include <iostream>
#include <string>
#include <sstream>
#include <fstream>

using namespace std;
int main(void) {
    string firstName;
    string lastName;
    string stream;
    int outputString;
    string dataOutput;
    string dataArray[1];
    bool askData = true;
    int i = 0;

    ofstream outfile("data.txt");

    while (askData) {
        cout << "Type First then Last Name or \"$Stop\" to save and exit" <<     "\n" << "First: ";

        getline(cin, firstName);
        if (firstName == "$Stop") {
            askData = false;

        }
        else {
            cout << "Last: ";
            cin >> lastName;
            cout << "\n\n\n";
            dataOutput = firstName + " " + lastName + "; ";
            dataArray [1 + i] = dataOutput;
            i++;
        }


        cout << dataOutput;

    }

    outfile << dataArray;
    outfile.close();

    return 0;
}
然后将其分配给递增变量

int i = 0;

dataArray[i];
i++;

你能告诉我为什么这不起作用吗?

stringdataarray[1]是单个字符串的数组。它只能存储一个值,而不是
1+i
值。您可能想使用
std::vector
来代替。请查看。您可以使用
data\u-vec.push\u-back(元素)自动调整大小来添加元素
dataArray[1+i]
都是错误的。
dataArray
的第一个元素是
dataArray[0]
<代码>输出如何输出数组,我使用了
dataArray.push_back(dataOutput)我有
的流出流文件(“data.txt”)
输出文件
int i = 0;

dataArray[i];
i++;