请教大家一个关于CFile类的问题??????????????
void CFileTestView::OnWriteFile()
{
CFile FileTest;
FileTest.Open( "TEST.txt ",CFile::modeCreate|CFile::modeNoTruncate|CFile::modeWrite);
FileTest.Write( "this is a test\r\n ",sizeof( "this is a test\r\n ")+1);
FileTest.Close();
}
为什么我多次点击我的这段代码所对应的按钮,不能在TEST.txt文件中产:
this is a test
this is a test
this is a test
这样的我想要得到的,接着写文件的功能,它永远都只写了一个 this is a test ,为什么在模式中或了CFile::modeNoTruncate还是不行??????
还有就是我发现用CFile的open打开的文件好像默认的都是二进制模式,(是因为我发现写的“\n”换行符号不行,还必须要用\r\n)
请大家帮我指点指点!!!!!!!!!!!!!!!!!!!!!
[解决办法]
那个办不到的,呵呵。
你想,写文件系统驱动的人会实现除了末尾之外其它位置的任意插入吗?
那样的话,比起整个读进来,再整个写出去,效率能高多少?很可能还更低。
除非你每次插入的长度正要是一整个磁盘扇区的大小,可磁盘扇区的大小随不同的磁盘,不同的磁盘格式也是不一样的。