Ich hoffe das jemand die Zeit und musse hat, sich das mal anzuschauen:
Folgende beiden Probleme habe ich:
Es wird nur jedes zweite Wort gelesen.
Wen ich akt_zeiger am Schluss auf NULL setze bringt er mir nach dem dritten Wort ein Segmentation Fault.
char akt_wort; / Zwischenspeicher /
int counter=0; / Zähler für Anzahl der Worte */
char *liste; / Liste der Wörter */
void makeliste (){
akt_wort=(char *) calloc(150,sizeof(char));
liste=(char **) malloc(sizeof(char *));
if(liste==NULL){
perror(“Fehler,calloc liste”);
}
while(1==1){
if(!fgets(akt_wort,150,stdin)) break;
fgets(akt_wort,150,stdin);
if(strlen(akt_wort)<101){
if(strlen(akt_wort)>1){
liste=(char **)realloc(liste,(counter + 1) * sizeof(char *));
if(liste==NULL) perror("Fehler:realloc,liste");
liste[counter]= malloc ((strlen(akt_wort)+1)*sizeof (char *));
if(liste[counter]==NULL) perror("Fehler:calloc, liste[counter]");
strcpy(liste[counter],akt_wort);
counter++;
}
}
else{
perror("Fehler:Eingegebenes Wort ist zu lang ");
}
}
}