-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 回答