【发布时间】:2020-03-02 07:18:31
【问题描述】:
我在以下代码中的strtok_r 中遇到了分段错误,我花了几个小时试图找出原因。其他页面上的答案说您不能修改字符串文字,但是(据我所知)我不是。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
char req[256];
//char* req = malloc(256 * sizeof(char));
strcpy(req, "hello\r\nversion 1.0\r\n\r\n");
char** lineSavePtr;
char* line = strtok_r(req, "\r\n", lineSavePtr);
}
如果我将req 的声明切换为动态声明,它会起作用。如果我使用strtok而不是strtok_r,它也可以工作,所以我猜它可能与lineSavePtr有关?
非常感谢您的任何回答。
【问题讨论】:
标签: c segmentation-fault stack strtok