#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++;
}
}
Ich bin neu in C und habe versucht, herauszufinden, wie Sie diesen Fehler für den besseren Teil einer Stunde zu beheben. Es kompiliert aber zur Laufzeit ichBusfehler: 10 in C Programm, kann nicht herausfinden, warum
Bus Error: 10.
Ich hätte gerne, wenn jemand zu mir führen könnte, warum dies geschieht und was ich falsch mache.
Verwenden Sie den Debugger, Luke – immibis
Es gibt eine Menge Vertrauen hier, dass es nicht mehr als 5 Einträge in 'Felder' geben wird. Wenn Sie die Grenzen überschreiten, wird es hässlich werden. – tadman