C++ 使用 Strtok 读取字符串字符时出错

C++ Error reading character of String using Strtok

本文关键字:字符 出错 字符串 读取 使用 Strtok C++      更新时间:2023-10-16

这里的问题在于读取char * nv,这基本上指向错误0xCCCCCCCC Error reading characters of string

已经尝试了其他修复程序。此代码还有更多步骤,但这是简化的、过于具体的版本:

char** splitStr(char* str, char separator, int sizeRet) {
    char ** tot = new char *[sizeRet];
    char * sep = new char[2];
    sep[0] = separator;
    sep[1] = '';
    char * nv;
    nv = strtok(str, sep);
    int i = 0;
    while (nv != NULL) {
        tot[i] = nv;
        nv = strtok(NULL, sep);
        i++;
    }
    return tot;
}

更新

该代码在在线编译器中完美运行。由于某种奇怪的原因,它在Visual Studio 2017中不起作用。将尝试从我必须使用的框架中删除一些文件夹,然后重试。

好了,问题解决了。决定停止 usign strtok 并做很好的旧迭代运行,避免分隔符和瞧,它工作得很好。我讨厌Visual Studio。