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

标签 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;
}

它抛出一个错误:

myLine = strtok(line2,"\t");

一个错误:

cannot convert from 'const char *' to 'char *'

你能告诉我我该如何处理吗?

最佳答案

不要使用strtokstd::string 有自己的字符串扫描函数,例如,find

关于c++ - 如何将类型从 const char * 转换为 char *,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8713992/

相关文章:

c++ - 没有类型名的模板参数

c - 当访问我的结构中的图形时,它会打印一个空行

c++ - 字符串中的重音,如何将重音字符存储在单个字符中

c - 如何将 gchar* 转换为 char

java - 统计一个字符被输入的次数

C 正则表达式 : Extracting the Actual Matches

c++ - wxWidgets Windows->MacOS 或 Linux

c++ - 如何使用设备 ID 获取 USB 硬件 ID?

c++ - 如何在 C++17 中制作模板包装器/装饰器

c++ - Seg Fault Error C++,创建二维动态数组时