fseek的有关问题,想修改一个文件的第一个整数,为什么不行?
fseek的问题,想修改一个文件的第一个整数,为什么不行??
//想在修改feature文件的第一个整数为15,为什么这样不行,总是在文件的最后加上一个15
int main(int argc, char* argv[])
{
FILE *stream;
stream=fopen( "d:\\feature ", "a+b ");
if (stream==NULL) {
printf( "error ");
}
fseek(stream,0,SEEK_SET); //fseek似乎没起作用
int a=15;
fwrite(&a,sizeof(int),1,stream);
fclose(stream);
return 0;
}
------解决方案--------------------
打开方式错误,应该是:
stream=fopen( "d:\\feature ", "r+b ");
------解决方案--------------------
a:添加
a+:读和添加
r:读
r+:读写
w:写(破坏原文件)
w+:读写(破坏原文件)
r+b一定可以的,你试试
//想在修改feature文件的第一个整数为15,为什么这样不行,总是在文件的最后加上一个15
int main(int argc, char* argv[])
{
FILE *stream;
stream=fopen( "d:\\feature ", "a+b ");
if (stream==NULL) {
printf( "error ");
}
fseek(stream,0,SEEK_SET); //fseek似乎没起作用
int a=15;
fwrite(&a,sizeof(int),1,stream);
fclose(stream);
return 0;
}
------解决方案--------------------
打开方式错误,应该是:
stream=fopen( "d:\\feature ", "r+b ");
------解决方案--------------------
a:添加
a+:读和添加
r:读
r+:读写
w:写(破坏原文件)
w+:读写(破坏原文件)
r+b一定可以的,你试试