Segmentierungsfehler am Pseudo-Terminal

7

Ich bekomme einen Segmentierungsfehler mit diesem Code auf fprintf:

%Vor%

Aber es funktioniert gut mit:

%Vor%

Was verursacht das?

    
muebau 01.09.2014, 14:57
quelle

3 Antworten

10

Sie haben einen segfault, weil fd ein int ist, und fprintf mit Ausnahme von FILE* .

%Vor%

Probieren Sie fdopen über das fd :

aus %Vor%     
NoDataFound 01.09.2014, 15:06
quelle
5

Sie versuchen, den Dateideskriptor (für den Dateizugriff auf niedriger Ebene) an fprintf zu übergeben, aber er benötigt tatsächlich eine FILE -Struktur, die in stdio.h definiert ist.

Sie könnten dprintf oder fdopen (das sind POSIX).

    
Jay 01.09.2014 15:08
quelle
3

Um in einen Dateideskriptor zu schreiben, verwenden Sie write() . Der Befehl fprintf benötigt einen FILE* typisierten Zeiger.

%Vor%     
alk 01.09.2014 16:37
quelle

Tags und Links