C++ C++;文本文档的字符串数组
我正在尝试创建一个程序,在输入stop命令之前输入一组数据,并将其记录到文本文档中。输入“姓氏”和“名”字段后,Microsoft Visual Studio崩溃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
#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(元素)自动调整大小来添加元素不管怎样,code>dataArray[1+i]
都是错误的。dataArray
的第一个元素是dataArray[0]
<代码>输出如何输出数组,我使用了dataArray.push_back(dataOutput)代码>我有的流出流文件(“data.txt”)代码>但输出文件
int i = 0;
dataArray[i];
i++;