Seite 1 von 1

gets in C

Verfasst: Sa Feb 07, 2015 12:09 pm
von Johnny_Truelove
Hallo Leute,

bin sehr erfreut dieses Forum hier gefunden zu haben. Habe folgendes Problem : Auf Knoppix 7.2 (Linux) wird die Funktion gets() in C nicht angenommen, doch bei dev cpp (windows) geht alles einwandfrei. Habe es auch schon mit fgets() probiert, ging aber ebenfalls nicht. Deswegen meine frage, weiß jemand vielleicht an was das liegen könnte ? Hat jemand irgendwelche Lösungsvorschläge für mich ? Danke im vorraus !

MfG Johnny_Truelove

Re: gets in C

Verfasst: Sa Feb 07, 2015 12:28 pm
von mfro
gets() sollte man tunlichst nicht verwenden, es kann keinen Pufferüberlauf abfangen, weil es nicht weiß, wieviel Platz da ist.

fgets() sollte allerdings funktionieren. Wie hast Du das aufgerufen?

Re: gets in C

Verfasst: Sa Feb 07, 2015 12:46 pm
von Johnny_Truelove
Ich habe es wie immer aufgerufen, also gcc name.c -o name.c.out
Da kam schon die Fehlermeldung, gets würde abgelehnt werden und bei fgets stand irgendwie ich hätte zu viele Variable benutzt (too few arguments)

Re: gets in C

Verfasst: Sa Feb 07, 2015 12:49 pm
von Xin
Poste mal Deinen Quellcode (das sieht ja eher klein aus) und die Fehlermeldungen des Compilers.

Re: gets in C

Verfasst: Sa Feb 07, 2015 1:10 pm
von Johnny_Truelove

Code: Alles auswählen

#include <stdio.h>
#include <string.h>

int main()
{
    char satz[80];
    printf("\nBitte Satz eingeben: ");
    fgets(satz);
    printf("\n%s",satz);
    printf("\nDer Satz besteht aus %i Zeichen.",
      strlen(satz));
}
Fehlermeldung: Too few arguments to function 'fgets'


EDIT dani93: Code-Tags

Re: gets in C

Verfasst: Sa Feb 07, 2015 2:36 pm
von nufan
Johnny_Truelove hat geschrieben:Fehlermeldung: Too few arguments to function 'fgets'
Diese Fehlermeldung sagt ja schon relativ viel aus: Du übergibst der Funktion fgets() nicht genügend Parameter. Sieh dir mal hier die genaue Signatur an:
https://www.proggen.org/doku.php?id=c:lib:stdio:fgets