![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
VC
weiweilizhihao
这个作者很懒,什么都没留下…
展开
-
读写文件与进程退出或者掉电问题
其实CFile封装的是API,ReadFile和WriteFile 调用这两个API时是不会立即进行磁盘操作的,除非你在CreateFile时使用了FILE_FLAG_NO_BUFFERING。 一般情况下,WriteFile会先把数据写到内存的缓冲中,然后定时定量,按需写入硬盘。由于硬盘的设计原理,一次性写入硬盘的字节数必须等于一个磁道在一个扇区内的容量大小(也就是Windows转载 2012-09-07 02:16:31 · 925 阅读 · 0 评论 -
SHFileOperation的一个问题(3)
接上一篇,补充一点:使用的时候要这么使用: Cstring s = _T("D:\\......"); int nsize = s.GetLength(); LPTSTR tmpStr = new TCHAR[ nsize + 2 ]; CstringToLptStr(s,tmpStr,nsize); tmpStr[nsize ] = '\0'; tmpStr[nsize + 1] =原创 2012-09-08 05:04:55 · 424 阅读 · 0 评论 -
SHFileOperation的一个问题(2)
接上一篇,那就存在一个这样的问题,SHFileOperation的参数SHFILEOPSTRUCT的成员pFrom如果需要一个变量,应该怎样做呢? 根据上一篇的经验,我们要避免使用CString的GetBuffer获得其对应的LPTSTR,如果可以这样,定义一个这样的函数: int CstringToLptStr(CString &srcStr, LPTSTR desStr, int nTra原创 2012-09-08 04:59:36 · 549 阅读 · 0 评论 -
SHFileOperation一个问题
使用SHFileOperation操作文件的确是很方便的,但是很可能遇到这个问题,不好解决,如下: CString tmpStr = _T("C:\\Documents and Settings\\XPMUser\\桌面\\BAK\\34"); SHFILEOPSTRUCT lpsh; ZeroMemory(&lpsh,sizeof(lpsh)); lpsh.hwnd= N原创 2012-09-08 04:33:49 · 601 阅读 · 0 评论 -
删除字符串中两个字符中的字符串(最近原则且非贪婪模式)
void delStr(CString& theStr,int nstart,const char cstart,const char cend) { int cstartIndex = 0,cendIndex = 0; int i = nstart; BOOL BstartFind = FALSE; while (i { if(theStr.GetAt(i) == cstart)原创 2012-10-26 15:10:49 · 521 阅读 · 0 评论