von datei in string array schreiben/ausgeben
-
Ja hallo!
ich hab seit paar Stunden das problem, dass ich meinen char* verb[5][5][200] mit ner txt datei beschreib und möchte den dann im hauptprogramm ausgeben (nicht in der gleichen schleife wo ich einlese, weil das geht eh ^^)
schaut mal:#include <stdio.h>
#define MAX_ZEILEN 500void lesenVerb(char* verb[20][20][200]);
int main() {
char* verb[20][20][200];lesenVerb(verb);
puts(verb[1][1][2]); // geht ned kommen irgendwelche zeichen ( wie als wäre
// irgendein falsche format, feldüberschreitung, etc.)
printf("%s", verb[1][1][2]); // das gleiche problemreturn 0;
}void lesenVerb(char* verb[20][20][200]){
FILE *f;
char puffer[20];
int i=0;f = fopen("daten/verb-0-0.txt","r");
while(fgets(puffer, MAX_ZEILEN -1, f)){
verb[0][0][i] = puffer;
printf("%s", verb[0][0][i]); // hier funktioniert es einwandfrei -.-
puts(verb[0][0][i]); // das auch...im hauptprogramm geht nix
i++;
}
fclose(f);
printf("\n\n");
i=0;f = fopen("daten/verb-1-0.txt","r");
while(fgets(puffer, MAX_ZEILEN -1, f)){
verb[1][0][i] = puffer;
i++;
}
fclose(f);
printf("\n\n");
i=0;f = fopen("daten/verb-1-1.txt","r");
while(fgets(puffer, MAX_ZEILEN -1, f)){
verb[1][1][i] = puffer;
i++;
}
fclose(f);
printf("\n\n");
i=0;
}
....
...
...
...und halt immer so weiter bis der ganze char gefüllt ist von den txt dateien.
das komische noch dazu...wenn ich jz in der funktion dazu schreib (dort wo es funktioniert):puts(verb[1][1][2]);
schreibt es alle wörter ab der nummer [2] hin nicht nur das eine was auf [2] gespeichert ist -.-...sehr mysteriös
Möchte einfach dass ich im hauptprogramm alle wörter von der varibale *char verb[.][.][..] ausgeben kann
-
ich glaube hab kompletten blödsinn gemacht oder?
char* ...
zeigt auf die 1. stelle der ganzen var oder? omfg...
also meine neue frage xD:
wie kann man mehrere strings in einem array von einer datei schreiben z.b.:
verb[0][0] = "hallo"
verb[0][1] = "blub"
verb[1][0] = "lol"
...
...
..sollte von einer datei die "das.txt" heist eingelesen werden
also das pro zeile in der txt.datei 1 wort steht und dies in einen teil des arrays gespeichert wird und dann zur nächsten zeile weitergeht und weiter einliest bis kein wort mehr in der datei ist
hoffe ihr versteht das ^^
-
ja moin!
char* verb[20][20][200];
das sieht aber arg umständlich aus.
das geht bestimmt einfacher!
-
nein es muss so sein für diese variable
habe vor einen computer bot zu schreiben, der wie ein normaler chatfreund auf sachen antwortet wie "wie gehts" oder er speichert sich z.b. vom benutzer das Alter, was für eine lieblingsfarbe er hat und so usw..
wie ein normaler chatfreundund da muss diese variable mehrdimensional sein sie ist normal eh nur verb[5][5][100] groß nich [20] ^^
will jz wissen wie man mehrere strings in einem array speichern kann
z.b. "hallo", "blub" und so in verb[0][0][0] und [1] zu speichern und die nächsten z.b. in verb[1][0][0] und verb[1][0][1] usw..
am besten ganzen code + wie man es von einer txt. datei gleich einlesen kann
-
das macht man lieber mit strukturen sone bots und so.