Nach <strg>+<Z> hört das Program komplett auf
-
#include <stdio.h> #include <string.h> int main() { char buffer[2001]; char backup[2001]; char c; char replace; int i=0; int count=0; char rep1, rep2, rep3; printf("\033[2J"); printf("Bitte Text eingeben. Ende mit <Strg>+<Z>:\n"); while((buffer[i] = getchar()) != EOF) { if(i>1999) { printf("\n\nZu viele Zeichen. Die ersten 2000 werden gespeichert."); break; } i++; } buffer[i]='\0'; printf("\nWelches Zeichen moechten Sie suchen?\n"); scanf("%c", &c); while (getchar() != '\n') ; count=0; i=0; while(buffer[i] != '\0') { if(buffer[i] == c) count++; i++; } if(count) { printf("\n\nDas Zeichen %c ist %d mal enthalten\n", c, count); printf("Soll es ersetzt werden? (j/n)"); scanf("%c", &rep1); while (getchar() != '\n') ; if(rep1=='j') { printf("\n\nErsatzzeichen angeben: "); scanf("%c", &replace); while (getchar() != '\n') ; strcpy(backup, buffer); i=0; while(buffer[i] != '\0') { if(buffer[i]==c) buffer[i]=replace; i++; } printf("\n\nDer geaenderte Text:\n\n"); puts(buffer); printf("\n\nSoll der urspruengliche Text wiederhergestellt werden?(j/n)"); scanf("%c", &rep2); while (getchar() != '\n') ; if(rep2=='j') { strcpy(buffer, backup); printf("\n\nText wiederhergestellt. Anzeigen?(j/n)"); scanf("%c", &rep3); while (getchar() != '\n') ; if(rep3=='j') { puts("\n\n"); puts(buffer); } } } } else printf("\n\nDas Zeichen %c ist nicht im Text enthalten.\n", c); }
Das Programm gibt mir nicht die Gelegenheit das zu suchende Zeichen einzugeben.
Es bricht komplett ab nach meinem <Strg> + <Z>
-
Also bei mir geht es einwandfrei......
Der Compiler meldet mir nur, dass main einen Wert zurueckliefern sollte (also return o;) wenn ich str+ Z machen muss ich enter druecken und es funztGruß unknown12345
-
Hi,
Der Compiler meldet mir nur, dass main einen Wert zurueckliefern sollte
, was aber laut Standard nicht nötig ist.
MfG Eisflamme
-
Funzt bei mir aber trotzdem.....
-
is unter Linux Strg+Z nicht Prozess unterbrechen ? ^^
-
Klappt bei mir immer noch nicht
sobald ich <Strg>+<Z> drücke erscheint dies aufm Bildschirm:
"[1]+ Stopped ./findchar"Die Progs vorher haben immer gut funktioniert
Bin sehr ratlos, da ich mir einfach nicht vorstellen kann, was ich falsch gemacht habe.
-
is unter Linux Strg+Z nicht Prozess unterbrechen ? ^^
korrekt. STRG+Z unterbricht den gerade laufenden Prozess. Da kannst man also nix gegen machen, weil das schon vom Betriebssystem abegfangen wird...
Mfg, smasher1985
-
gastttt schrieb:
Klappt bei mir immer noch nicht
sobald ich <Strg>+<Z> drücke erscheint dies aufm Bildschirm:
"[1]+ Stopped ./findchar"du willst uns aber hier nich verarschen oder ?
Naja, wenn nich dann:
unter Linux hälst du laufende Prozesse (zumd. in der Bash) mit Strg+Z an.
mit "fg" kannst du ihn dann (afaik) wieder in den Vordergrund holen...
ergo: nimm ne andre Tastenkombi zum textterminieren.
z.b. ein \n
-
k1ro schrieb:
du willst uns aber hier nich verarschen oder ?
nein, ich versuch nur meinen Fehler zu finden
klro schrieb:
ergo: nimm ne andre Tastenkombi zum textterminieren.
z.b. ein \nwie mache ich das?
-
Hallo,
wie wäre es mal mit CTRL-D?