15 Stimmen

Woher / wie bekomme ich die "getline" Funktion, wenn sie in stdio.h fehlt?

Ich schreibe ein Programm in C mit Code::Blocks 13.12 unter Windows 8 (der C Compiler ist mingw32-gcc). Ich würde gerne die "getline" Funktion verwenden, aber sie scheint in der stdio.h zu fehlen. Gibt es einen anderen Weg, sie zu bekommen, abgesehen vom Schreiben einer eigenen Implementierung?

16voto

rubenvb Punkte 71669

getline ist eine POSIX-Funktion, und Windows ist nicht POSIX, also stehen einige POSIX C-Funktionen nicht zur Verfügung.

Sie müssen Ihre eigene schreiben. Oder eine verwenden, die bereits geschrieben wurde.

5voto

John Bode Punkte 112486

getline ist keine Standard-C-Bibliotheksfunktion. Einige Implementierungen (wie gcc) stellen sie als Erweiterung bereit.

Wenn Sie mit gcc kompilieren, müssen Sie das Feature-Makro _GNU_SOURCE definieren, um es für Ihren Code verfügbar zu machen:

#define _GNU_SOURCE
#include 
...
getline (...);

EDIT

Hoffentlich ist dies für Sie auf Windows verfügbar, da mingw ein GNU-Compiler ist.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X