andelf fledna Feather

2008年10月18日星期六

string.h 中 strtok 提示段位错误

strtok 函数 char *p = "asdf asdf asdfasd asdf"; char *sp = " "; char *t; t = strtok(p, sp); 提示段位错误 原因很简单, strtok 会修改它第一个参数所指向内存的内容. 所以正确的方法是: char buf[] = "asdf asfd asdf"; char *p = buf; 再调用. 具体点, 是因为数组初始化和指针初始化两种处理字符串方法的微小不同引起的.

没有评论: