我正在尝试用C++创建简单的应用程序。该应用程序必须从文件读取并显示数据。我写了函数:
std::vector <AndroidApplication> AndroidApplication::getAllApp(){
std::vector<AndroidApplication> allApp;
std::fstream f;
f.open("freeApps.txt");
std::string line;
if(f.is_open()){
while(getline(f, line)) {
std::string myLine = "";
char * line2 = line.c_str();
myLine = strtok(line2,"\t");
AndroidApplication * tmpApp = new AndroidApplication(myLine[1], myLine[2], myLine[4]);
tmpApp->Developer = myLine[0];
tmpApp->Pop = myLine[3];
tmpApp->Type = myLine[5];
allApp->pushBack(tmpApp);
}
}
return allApp;
}
它向我抛出了一个错误:
myLine = strtok(line2,"\t");
一个错误:
你能告诉我如何处理吗?
最佳答案
要使用strtok,您将需要字符串的可写拷贝。 c_str()返回一个只读指针。