我用 open() 打开一个文件,我检查了我的文件描述符,似乎没问题 (3)。但是当我尝试在这个 fd 上写入时,write() 返回 -1。我还打印了我的字符串,它显示正确。
errno = 9, "Bad file descriptor"
I checked my file descriptor and seems to be ok (3)
您的文件描述符显然未打开以供写入。从文档中write
:
EBADF fd 不是有效的文件描述符或未打开以供写入。
我会使用标准库 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/