string einlesen



  • Hallo. Ich habe eine kleine Frage zu den Stringfunkionen in.
    Mein gcc Compiler schreibt beim Compilieren des folgenden Quellcodes immer: the `gets' function is dangerous and should not be used.

    Ich brauche die gets(char 😉 Funktion, weil sie einen String immer bis zu einem '\n' ausliest. Kann es mit dieser Funktion unter Linux zu Problemen kommen, gibt es vielleicht noch eine andere mit der gleichen Wirkung?

    #include <stdio.h>
    #include <string.h>
    #include <stdlib.h>
    #include <ctype.h>
    
    int main(int argc, char **argv)
    { char text[1024];
    
      gets(text);
      puts(text);
    
      return 0;
    }
    

    Danke fpr eure Antworten.



  • Also fgets() könnte dir helfen, und wenn du dir die man page von gets() anschaust, da steht auch beschrieben warum und weshalb gets() so gefährlich ist (keine kontrolle auf nen Überlauf des Speichers).



  • hi,also ich bin ja noch ein ziemlicher anfänger...aber ich würde nie einen string so auslesen....wenn dann benutze ich immer eine schleife z.b
    for(i=0;i<strlen;i++)
    und dann mit getc den text in eine variable einlesen lassen....
    greets:-)
    ciro


Anmelden zum Antworten