如题:如何使用CFile替换二进制文件的某行的内容?
如果不行,
用FILE 如何打开二进制文件,并将指针指向文件尾,继续添加数据?比如一个结构体
struct
{
int a;
char c[];
int d;
}
写入文件后,
比如 d = 9;
然后向这个二进制文件添加3个数据后,
将 d 改为12,
请问如何替换?
如果不行,
用FILE 如何打开二进制文件,并将指针指向文件尾,继续添加数据?比如一个结构体
struct
{
int a;
char c[];
int d;
}
写入文件后,
比如 d = 9;
然后向这个二进制文件添加3个数据后,
将 d 改为12,
请问如何替换?
1. Open(pszFileName, CFile::modeWrite, &e);
2. SeekToEnd
3. SeekToBegin
4. struct a; Read(&a, sizeof(a)); a.d++;
5. Write(&a, sizeof(a)...
6. Seek
循环5-6
open
seek
read
seek
write
CFile默认就是二进制读取的
你把文件头读取出来,然后修改记录后,重新写到原来的位置(文件头)就好了,INT型是四字节的,你现在的数据量并不发生溢出。关键是你要以追加的方式打开就好了。记得指针的移位。
记得读取整个结构体出来。然后将这个结构体重新写回去就可以。
Write( &d, sizeof(int) );
SeekToEnd( );
// append new items