我希望创建一个简单的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");
一个错误:
无法将“const char *”转换为“char *”
您能告诉我如何处理它吗?
strtok
功能在互联网上有广泛的文献资料,清楚地解释了它具有相当复杂的行为,这与你的假设不同。(顺便说一下,Python中的split
已被弃用。) - Lightness Races in Orbit