int main(void)
{
FILE* file;
int i=0,position=0;
char bufin[1024];
char bufout[]="hello world";
int readbytes=0, writebytes=0;
file=fopen("filetest.txt","w+");
if((writebytes=fwrite(bufout, sizeof(bufout), 1, file))<=0)
{
// 这里返回1
}
position=ftell(file);
rewind(file);
memset(bufin, 0, sizeof(bufin));
if((readbytes=fread(bufin, position, 1, file))<=0)
{
//返回1
}
fseek(file, 512, SEEK_SET);
position=ftell(file);
rewind(file);
if((readbytes=fread(bufin, position, 1, file))<=0)
{
//返回值为0
}
close(file);
}
6 个解决方案
#1
Return Value
fwrite returns the number of full items actually written, which may be less than count if an error occurs. Also, if an error occurs, the file-position indicator cannot be determined.
writebytes=fwrite(bufout, sizeof(bufout), 1, file)
第三个参数为1,当然返回1了。
fread也一样。
fwrite returns the number of full items actually written, which may be less than count if an error occurs. Also, if an error occurs, the file-position indicator cannot be determined.
writebytes=fwrite(bufout, sizeof(bufout), 1, file)
第三个参数为1,当然返回1了。
fread也一样。
#2
fread返回的是读到了多少个数(不是字节)。
fwrite也是类似
你上面限定了只读写一个数当然返回1了
fwrite也是类似
你上面限定了只读写一个数当然返回1了
#3
看MSDN,writebytes=fwrite(bufout, sizeof(char), sizeof(bufout),file)
#4
华为技术西安研究所现在招聘软件/硬件开发工程师与软件/硬件测试工程师,需要本科或以上学历,证件要齐全,最好是通信与计算机相关专业,其它理工科专业也可以。软件主要以C语言为主,硬件需要对模电数电以及信号与系统有所了解。工作地在西安。有意者将简历发送至mt.xy@huawei.com,如若有进一步了解需求,请加QQ联系:32227182(说明应聘华为)
#5
你让它返回1,他当然要返回1了
#6
多谢各位!
#1
Return Value
fwrite returns the number of full items actually written, which may be less than count if an error occurs. Also, if an error occurs, the file-position indicator cannot be determined.
writebytes=fwrite(bufout, sizeof(bufout), 1, file)
第三个参数为1,当然返回1了。
fread也一样。
fwrite returns the number of full items actually written, which may be less than count if an error occurs. Also, if an error occurs, the file-position indicator cannot be determined.
writebytes=fwrite(bufout, sizeof(bufout), 1, file)
第三个参数为1,当然返回1了。
fread也一样。
#2
fread返回的是读到了多少个数(不是字节)。
fwrite也是类似
你上面限定了只读写一个数当然返回1了
fwrite也是类似
你上面限定了只读写一个数当然返回1了
#3
看MSDN,writebytes=fwrite(bufout, sizeof(char), sizeof(bufout),file)
#4
华为技术西安研究所现在招聘软件/硬件开发工程师与软件/硬件测试工程师,需要本科或以上学历,证件要齐全,最好是通信与计算机相关专业,其它理工科专业也可以。软件主要以C语言为主,硬件需要对模电数电以及信号与系统有所了解。工作地在西安。有意者将简历发送至mt.xy@huawei.com,如若有进一步了解需求,请加QQ联系:32227182(说明应聘华为)
#5
你让它返回1,他当然要返回1了
#6
多谢各位!