运行此代码时出现内存问题:
#include <iomanip>
#include <string>
#include <iostream>
#include <vector>
using namespace std;
int main(){
vector<string> tokens;
int x,y;
string toParse = "word,more words,an int 5,some more,this is the 5th one,thisll be 6,seven,eight,nine,tenth,extra";
for(y=0; y<10; y++){
cout << "in for loop " << y << endl;
x = toParse.find(",");
tokens[y]= toParse.substr(0,x);
toParse = toParse.substr(x+1);
}
for(y=0; y<9; y++)
cout << tokens[y] << endl;
}
本质上,我只想存储值,根据逗号分隔。
x 应该设置为逗号的位置,我在该位置上存储信息,包括直到逗号。然后,我使用 substr 获取一个新字符串以从中获取位,并在逗号后取整行。我得到一个分段错误。