kein fpurge in Cygwin



  • @ "c".rackwitz
    char y[20];
    ein cString



  • --linuxuser-- schrieb:

    geht auch einfacher
    do{scanf("%s", &y);} while(getchar() != '\n')

    😃 Zweites Eigentor... *prust*

    --linuxuser-- schrieb:

    @ "c".rackwitz
    char y[20];
    ein cString

    Sorry... 😃



  • 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 einliest

    Und 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!


Anmelden zum Antworten