-3

open() でファイルを開き、ファイル記述子を確認しましたが、問題ないようです (3)。しかし、この fd に書き込もうとすると、write() は -1 を返します。正しく表示されている文字列も印刷します。

errno = 9, "Bad file descriptor"
4

2 に答える 2

0
I checked my file descriptor and seems to be ok (3)

ファイル記述子が書き込み用に開かれていないようです。のドキュメントからwrite

EBADF fd が有効なファイル記述子ではないか、書き込み用に開かれていません。

于 2013-03-26T19:42:34.857 に答える
0

標準ライブラリ stdio.h にある関数を使用します。fopen() を使用してファイルを開き、fprintf() を使用してファイルに書き込み、fclose() を使用してファイルを閉じます。例:

FILE *fh;

fh = fopen("test.txt","w");

fprintf(fh, "Hello World!\n");

fclose(fh);

このサイトは標準的な C プログラミングの非常に貴重なリソースなので、ブックマークしておきます (ヒント: 最初に確認してください ;) http://www.acm.uiuc.edu/webmonkeys/book/c_guide/

于 2013-03-26T20:10:15.590 に答える