gets in C

Schnelle objektorientierte, kompilierende Programmiersprache.
Antworten
Johnny_Truelove
Beiträge: 9
Registriert: Sa Feb 07, 2015 11:42 am

gets in C

Beitrag von Johnny_Truelove » Sa Feb 07, 2015 12:09 pm

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

mfro
Beiträge: 346
Registriert: Mi Jan 16, 2013 4:58 pm

Re: gets in C

Beitrag von mfro » Sa Feb 07, 2015 12:28 pm

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?
It's as simple as that. And remember, Beethoven wrote his first symphony in C.

Johnny_Truelove
Beiträge: 9
Registriert: Sa Feb 07, 2015 11:42 am

Re: gets in C

Beitrag von Johnny_Truelove » Sa Feb 07, 2015 12:46 pm

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)

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8862
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: gets in C

Beitrag von Xin » Sa Feb 07, 2015 12:49 pm

Poste mal Deinen Quellcode (das sieht ja eher klein aus) und die Fehlermeldungen des Compilers.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Johnny_Truelove
Beiträge: 9
Registriert: Sa Feb 07, 2015 11:42 am

Re: gets in C

Beitrag von Johnny_Truelove » Sa Feb 07, 2015 1:10 pm

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

nufan
Wiki-Moderator
Beiträge: 2558
Registriert: Sa Jul 05, 2008 3:21 pm

Re: gets in C

Beitrag von nufan » Sa Feb 07, 2015 2:36 pm

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

Antworten