我正在尝试用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()返回一个只读指针。

10-05 18:45