关于 c:strtok 程序崩溃

strtok program crashing

在 http://www.opengroup.org/onlinepubs/000095399/functions/strtok.html 上给出的 strtok 程序
每次都崩溃..

1
2
3
4
5
6
7
8
9
10
11
12
13
#include <string.h>
...
char *token;
char *line ="LINE TO BE SEPARATED";
char *search ="";


/* Token will point to"LINE". */
token = strtok(line, search);


/* Token will point to"TO". */
token = strtok(NULL, search);

如果我对变量"行"使用 char 数组,它可以工作。
即 char line[] ="LINE TO BE SEPARATED" 有效。

请解释一下。


strtok 修改输入字符串 line

1
char *line ="LINE TO BE SEPARATED";

在这种情况下,line 指向只读内存。因此,无法修改。您需要为 strtok.

传递字符数组


n


n


aJ 说需要什么。我的建议是避免丑陋