fread fwrite之间是否一定要fseek,为什么?高手进
通常,在操作文件的时候,会同时使用到fread 和 fwrite ,但记得在 <<C陷阱和缺陷>>中有提到一句,fread和fwirte混用时,一定要使用fseek().
当然,通常我们使用fseek是因为要偏移到我们想要操作的地方,如果当前fread完的位置正好是我们要fwrite的位置时,是否也必需加上fseek()?
为什么?
如下例:
1:while( NL_read( fd, &key, sizeof( ST_UNRD_key )) == sizeof( ST_UNRD_key )){
2: NL_seek( fd, -sizeof( ST_UNRD_key ), FILE_SEEK_CUR);
3: NL_write( fd, &key, sizeof( ST_UNRD_key ) );
4: NL_seek( fd, 0, FILE_SEEK_CUR );
5:}
关于第4行:
1:必要 (原因?)
2:建议需要 (原因?)
3:根本不需要 (原因?)
4:打酱油路过 (原因2...)
感谢回答