Veröffentlicht 9. Oktober 200123 j Hi, also ich habe da mal wieder ein total dummes Problem, denke ich, und ein Brett vor'm Kopf, aber ich komme einfach nicht weiter. Ich will aus der Datei heraus Zeichenweise einlesen, solange bis ein Leerzeichen kommt, und will das gelesene in einem Array speichern, und dieses dann mitetwas vergleichen. Sieht bei mir so aus: fz = fopen ("c:\\blablabla.txt", "r"); while ((c = fgetc (fz)) != EOF); { while (c != ' ') { buffer1[pos] = c; pos++; } buffer1[pos] = '\0' _strlwr(buffer1); . . . } Er bleibt jetzt immer in der inneren while Schleife hängen, und ich weiß nicht wieso, und kann es nicht ändern. Habe es auch schon mit anderen Schleifen probiert, aber es klappt einfach nicht. Liegt es an der Typkonvertierung, und wenn ja, wie kann ich das ändern? Bine
9. Oktober 200123 j Hi, <BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Zitat:</font><HR> while ((c = fgetc (fz)) != EOF); {
9. Oktober 200123 j <BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Zitat:</font><HR>Original erstellt von Woodstock: <STRONG> while (c != ' ') { buffer1[pos] = c; pos++; } </STRONG>
9. Oktober 200123 j So, ich habe es... #include "Sabine(1).h" void main() { FILE *fz; char **DA = NULL; int scnt = 0; char Eingabe[2]; char c = 1; char buffer1[100] = {NULL}; int pos = 0; int Fehler = 2; cin >> Eingabe; _strlwr (Eingabe); fz = fopen ("c:\\blablabla.txt", "r"); while (c != EOF) { c = fgetc (fz); if (c == ' ' || c == ',') { _strlwr(buffer1); if(strstr (buffer1, Eingabe)) { Fehler = 0; break; } else Fehler = 1; pos = 0; } buffer1[pos] = c; pos++; buffer1[pos] = '\0'; } if (Fehler == 0) cout << "\nSuchbegriff gefunden!" /*<< Datei[j] */<< "\n\n"; } klappt jetzt so... thnx
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.