【发布时间】:2020-08-15 01:59:39
【问题描述】:
不知道为什么我会在这方面出错,有人可以帮助我吗?另外,我知道尺寸不同且不正确,我现在并不担心。我只是想测试一些东西。
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main(int argc, char *argv[]) {
char csvDest[100] = "1000,cap_net_raw,cap_sys_admin";
char *tokptr = strtok(csvDest,",");
char *csvArray[100];
int i = 0;
while(tokptr != NULL){
csvArray[i++] = tokptr;
tokptr = strtok(NULL, ",");
}
int j;
for(j=0; j < i; j++){
printf("%s\n", csvArray[j]);
}
return 0;
}
【问题讨论】:
-
csvDest 不一定是一个以 null 结尾的字符串,这是 strtok 所要求的。
-
@Cheetaiean,由 OP 编写,
csvDest是 NUL 终止的。
标签: c arrays string segmentation-fault strtok