C - write()不写入文件

时间:2014-10-04 17:32:33

标签: c file

我的问题很简单,当我尝试确认函数是否在文件上写入时,没有显示任何内容,文件就在那里,但文件中没有任何内容,其中应该是我想要的字符串的1024倍

int escreve1x( const char* path , const char* cadeia )

int fd = open( path, O_CREAT, S_IRUSR | S_IWUSR | S_IXUSR | S_IRGRP | S_IWGRP | S_IXGRP | S_IROTH | S_IWOTH | S_IXOTH );
int i;

printf("%s\n", cadeia);

for ( i=0 ; i<=1024 ; i++ )
{
    write( fd, cadeia, 10);
}

return 0 ;

1 个答案:

答案 0 :(得分:0)

1-Add&#34; O_RDWR&#34;使fd可写的标志。 2 - 始终调试write syscall的结果;

int fd = open( path, O_CREAT | O_RDWR, S_IRUSR | S_IWUSR | S_IXUSR | S_IRGRP | S_IWGRP | S_IXGRP | S_IROTH | S_IWOTH | S_IXOTH );
if(fd<0) {
printf("Open failed\n");
return 1;
}
int i;
printf("%s\n", cadeia);
for ( i=0 ; i<=1024 ; i++ ) {
int status=write( fd, cadeia, 10);
if(status<0) {
printf("Write failed");
}
}
return 0;

如果表示写入失败,请检查错误。