kein fpurge in Cygwin
-
--linuxuser-- schrieb:
geht auch einfacher
do{scanf("%s", &y);} while(getchar() != '\n')Zweites Eigentor... *prust*
--linuxuser-- schrieb:
@ "c".rackwitz
char y[20];
ein cStringSorry...
-
wieso das geht doch so wie ich das geschrieben habe ich habs sogar ausprobiert!!
-
probiers doch selber aus
#include <stdio.h> int main(void){ char y[20]; do{scanf("%s", &y);} while(getchar() != '\n'); printf("%s\n", y); }/*end main*/
und du wirst sehen es funkt
do{scanf("%s", &y);} while(getchar() != '\n');
ist natuerlich auch bei chars interressant...
-
--linuxuser-- schrieb:
wieso das geht doch so wie ich das geschrieben habe ich habs sogar ausprobiert!!
Zeig mal...
Oder probier das hier mal aus:
char buf[256] = "Ein Haufen Firlefanz"; char * p = buf; scanf("%s", &p); printf("%s", buf);
-
stimmt das ist nicht gut waenn speicherbereich ueberschrieben wird aber was soll das mit meiner demonstration zu tun haben das newline zeichen zu ueberlesen?
-
--linuxuser-- schrieb:
stimmt das ist nicht gut waenn speicherbereich ueberschrieben wird aber was soll das mit meiner demonstration zu tun haben das newline zeichen zu ueberlesen?
Eigentlich nichts, aber ich wollte dich auf einen kleinen Fehler in deinem Code hinweisen, den andere nicht nachmachen sollen
-
do{scanf("%s", &y);} while(getchar() != '\n'); in dieser zeile ist KEIN FEHLER
wie man diese technik einsetzt ist jeden seine sache ob klug oder nicht!!!!
ich wollte nur demonstrieren dass man das problem mit dem newlinezeichen so loesen kann indem man das newlinezeichen erst gar nicht einliest
-
--linuxuser-- schrieb:
do{scanf("%s", &y);} while(getchar() != '\n'); in dieser zeile ist KEIN FEHLER
wie man diese technik einsetzt ist jeden seine sache ob klug oder nicht!!!!
ich wollte nur demonstrieren dass man das problem mit dem newlinezeichen so loesen kann indem man das newlinezeichen erst gar nicht einliestUnd AJ wollte nur darauf hinweisen dass &y um ein & zuviel ist.
Kurt
-
funzen tuts mit & aber auch!
-
Xserver schrieb:
funzen tuts mit & aber auch!
Ja bis man mal zufällig irgend eine Kleinigkeit umstellt und voila: Bufferoverflow, Programmcrash, Computerabsturz (ich weiß ich bin ein Dramatiker :D).
Mit dieser Einstellung "Es funzt ja trotzdem" können schwerwiegende Fehler und Sicherheitslücken in Programmen entstehen!
--linuxuser-- schrieb:
do{scanf("%s", &y);} while(getchar() != '\n'); in dieser zeile ist KEIN FEHLER
Richtig diese Zeile enthält keinen Syntaxfehler, aber im Zusammenhang mit deiner Definition von y ist es ein technischer Fehler!