在2d向量的情况下是否可以使用运算符[]?例如,我得到以下代码:
vector<vector<string>> data;
ifstream myReadFile;
myReadFile.open("stoixeia_astheni.txt");
while (!myReadFile.eof()) {
for(int i=0; i<1; i++){
for (int j=0; j<4; j++){
myReadFile >> data[i][j];
}
}
}
Run Code Online (Sandbox Code Playgroud)
我的消息超出了范围.我有一个包含5行和4列的文件.
你的向量data
是空的,它size()
是0.你必须resize
首先使用它或使用push_back()
以下方法添加新元素:
while (!myReadFile.eof()) {
for(int i = 0; i < 1; i++){
vector<string> tmpVec;
string tmpString
for (int j = 0; j < 4; j++){
myReadFile >> tmpString;
tmpVec.push_back(tmpString);
}
data.push_bac(tmpVec);
}
}
Run Code Online (Sandbox Code Playgroud)
您还可以在以下声明中设置大小data
:
vector<vector<string>> data(5,vector<string>(4));
ifstream myReadFile;
myReadFile.open("stoixeia_astheni.txt");
while (!myReadFile.eof()) {
for(int i=0; i < 5; i++){
for (int j=0; j<4; j++){
myReadFile >> data[i][j];
}
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
7168 次 |
最近记录: |