#include <stdio.h>
#include <string.h>
#include <stdlib.h>
void split_line(char **fields, char *line);
int main() {
char *fields[5];
char *line = "donuts,are,cool,and,tasty";
int i = 0;
split_line(fields, line);
return 0;
}
void split_line(char **fields, char *line) {
int i = 0;
char *token, *delim;
delim = ",\n";
token = strtok(line, delim);
while (token) {
fields[i] = malloc(strlen(token));
strcpy(fields[i], token);
token = strtok(NULL, delim);
i++;
}
}
저는 C를 처음 사용하며 한시간 동안이 오류를 해결하는 방법을 찾기 위해 노력해 왔습니다. 그것은 컴파일하지만 실행 시간에 나는 사람이 이런 일이 내가 잘못하고있는 무슨 이유에 저를 이끌 수 있다면버스 오류 : C 프로그램에서 10 개, 이유를 알아낼 수 없습니다.
Bus Error: 10.
내가 감사하겠습니다 얻을.
디버거 사용 Luke – immibis
'fields '에는 5 개 이상의 항목이 없다는 믿음이 많이 있습니다. 당신이 그것의 범위를 초과하는 경우에 그것은 추악해질 것입니다. – tadman