Hallo,
ich versuche gerade Strings aus einer Datei einzulesen und diese in ein
String-Array zu schreiben. Dabei möchte ich nach jeder eingelesenen
Zeile das Array um einen String erweitern.
Das Programm lässt sich auch kompilieren, ich bekomme aber nach dem
Start einen Segmentation Fault.
Kann mir hier jemand Helfen?
lg
1 | #include <stdio.h>
|
2 | #include <stdlib.h>
|
3 | #include <string.h>
|
4 |
|
5 | int get_list();
|
6 | void get_interprets();
|
7 |
|
8 | char** interprets = 0;
|
9 |
|
10 | int main()
|
11 | {
|
12 | int songcount;
|
13 |
|
14 | songcount = get_list();
|
15 | //get_interprets();
|
16 |
|
17 | return 0;
|
18 | }
|
19 |
|
20 | int get_list()
|
21 | {
|
22 | FILE *fp;
|
23 | char buf[255];
|
24 | int songcount = 0;
|
25 |
|
26 | fp = fopen("songlist.txt", "r");
|
27 |
|
28 | while(fgets(buf, 255, (FILE*)fp))
|
29 | {
|
30 | interprets = (char**) realloc(interprets, (songcount+1)*sizeof(char*));
|
31 | *interprets = (char*) malloc(255*sizeof(char));
|
32 |
|
33 | strcpy(interprets[songcount], buf);
|
34 |
|
35 | songcount++;
|
36 | }
|
37 |
|
38 | return songcount;
|
39 | }
|