是这样的,我在程序使用
CFile(name,CFile::modeCreate|CFile::modeWrite |CFile::modeNoTruncate)
创建一个文件并写入数据,为什么在程序退出近3分钟的时间内这个文件都不可以被其他程序(如:记事本本)访问呢,写入的数据量并不大,我使用的是win2000,这个和文件系统有关系么?如解决本问题,坚决给分,马上结贴,同时可能还有另一问题求教
谢谢!
CFile(name,CFile::modeCreate|CFile::modeWrite |CFile::modeNoTruncate)
创建一个文件并写入数据,为什么在程序退出近3分钟的时间内这个文件都不可以被其他程序(如:记事本本)访问呢,写入的数据量并不大,我使用的是win2000,这个和文件系统有关系么?如解决本问题,坚决给分,马上结贴,同时可能还有另一问题求教
谢谢!
if(file.Open(name,CFile::modeCreate | CFile::modeWrite | CFile::modeNoTruncate))
{
file.Write(...);
file.Close();
}
CFile::modeReadWrite 可以 和CFile::modeNoTruncate 一起使用么?我还是需要NoTruncate的。to lanstar200(玛雅哥布林:) 我在程序退出时确实已经close了,不知道为什么还有那么长的时间延迟。
我用CFile::modeReadWrite 标志位试了试,不行,用notepad打开时:can not open the file.用ultraEdit打开解释是:访问时发生共用违规。
How??我想CFile::close()内已封装了关闭文件句柄的操作了。
就是可以共享使用文件的标志.具体请查MSDN
CFile::ShareDenyRead
CFile::ShareDenyWrite
以上这些是设置共享类型的。可以和上面的NoTruncate,ReadWrite等等合用。
file.close();
试试
if(!f.Open(filename, CFile::modeCreate|CFile::modeNoTruncate|CFile::modeWrite))
AfxMessageBox("创建文件失败");//文件写入操作
..............f.Close();试试