我用open()打开一个文件,我检查了我的文件描述符,似乎没问题(3)。 但是当我尝试在这个fd上写入时,write()返回-1。 我也打印我的字符串,显示正确。调用write()失败未知的原因
errno = 9, "Bad file descriptor"
我用open()打开一个文件,我检查了我的文件描述符,似乎没问题(3)。 但是当我尝试在这个fd上写入时,write()返回-1。 我也打印我的字符串,显示正确。调用write()失败未知的原因
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/
代码可能会有所帮助。 – 2013-03-26 19:38:22
是否用“写入”选项打开它?你的文件是否有写入权限? – Mike 2013-03-26 19:39:40