我遇到了细分错误,但不知道为什么:

    // Assemble folderPositionString
    char *folderPositionString = "folders-";
    strcat (folderPositionString, "files");


从理论上讲,这应该产生一个以'folders-files'作为值的char字符串。我以前使用过strcat,并且可以使用,但是由于某种原因,在这里不满意。

如果我注释掉strcat行,则所有内容都会编译并起作用。

工作代码归功于Eugene

    char folderPositionString [50] = "folders.";
    strcat (folderPositionString, folderPositionRaw);
    strcat (folderPositionString, ".files");

最佳答案

folderPositionString指向分配字符串文字的只读存储器。当尝试在其中写入其他数据时,您将遇到内存访问冲突。

关于更新的更新:

在第二种情况下,query_string获得与account_id相同的地址值,该地址值可能指向非只读存储区。

关于c - c未知段错误(核心已转储),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33655082/

10-11 04:29