[英]How split a string in c with comma
我創建了一個 function 來用逗號分割字符串。
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
char splitted_line[8][50];
void split(char *line){
printf("line 9\n");
char *part = strtok(line, ",");
printf("line 11\n");
for(int i=1; i<8; i++){
strcpy(splitted_line[i], part);
printf("%s\n", splitted_line[i]);
part = strtok(NULL, ",");
}
}
int main(){
char *line = "123,456,789";
split(line);
return 0;
}
但運行后的結果是:
line 9
Segmentation fault (core dumped)
似乎問題出在char *part = strtok(line, ",");
但我不知道那是什么。
strtok()
將直接修改傳遞的原始字符串。
您不得修改字符串文字。
char *line = "123,456,789";
應該是可修改數組
char line[] = "123,456,789";
在執行strcpy(splitted_line[i], part);
之前不要忘記檢查part
是否不是NULL
.
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.