如何将类型从const char*转换为char*

ruh*_*gry 3 c++ char

我正在尝试用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;
}
Run Code Online (Sandbox Code Playgroud)

它引发了我的错误:

myLine = strtok(line2,"\t");
Run Code Online (Sandbox Code Playgroud)

一个错误:

无法从'const char*'转换为'char*'

你能告诉我怎么处理它?

Pau*_*cas 11

不要用strtok. std::string它有自己的字符串扫描功能,例如find.

  • @whiteangel:不.你为什么不使用文档?C的`strtok`功能在互联网上被广泛记录,清楚地解释说它具有非常复杂的行为,而不是你所假设的方式.(顺便说一下,Python中的`split`已被弃用.) (6认同)