2012年(158)
分类: C/C++
2012-11-21 10:21:57
#include
int main( void )
{
FILE* fp = fopen( "D:\\test.txt", "r+" ); //
文件内容:12345
char c;
fread( &c, 1, 1, fp ); // 函数返回1,c为'1' ---
也就是一切正确
// fseek(fp,0,SEEK_CUR); --- []和[]说加上这一句就好了
fwrite( "a", 1, 1, fp ); // 函数返回1 --- 也就是一切正确
fclose( fp ); // 函数返回0 --- 也就是一切正确,然而文件内容仍然为 12345 而没有变为 1a345
return 0;
}
网友评论2012-11-21 10:23:29
argentmoon
星星大哥,aiby说的对,今天我翻了下UNIX环境高级编程一书,居然把以前看过的一段话给忘记了……
ouput cannot be directly followed by input without an intervening fflush, fseek, fsetpos, or rewind.
Input cannot be directly followed by output without an intervening fseek, fsetpos, or rewind, or an input operation that encounters an end of file.