请大家看看这段程序错在那 s.pFrom=str.GetBuffer(256和s.pFrom="e:\\t.txt"的确一样,难道你单步调试时s.pFrom的值不同吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 改为以下形式就对了CString str("e:\\t.txt");str+=(TCHAR)0;//s.pFrom可以指向多个文件,每个文件名以0分隔,字符串的最后以2个0结束SHFILEOPSTRUCT s;s.hwnd=NULL;s.wFunc=FO_DELETE;s.pFrom=str.GetBuffer(256);s.fFlags=FOF_ALLOWUNDO and FOF_NOCONFIRMATION ;SHFileOperation(&s);以s.pFrom="e:\\t.txt"的形式调用时,"e:\\t.txt"位于数据段,长度为9(加上结束符),因为字符串数据是按4字节边界对齐的,所以其后的3个字节都为0,所以符合pForm的要求,可以通过.以s.pFrom=str.GetBuffer(256)的方式就不同了,其对应的内存是动态分配的,在堆中,所以其结束符后的数据是随机的,很可能不为0.(该内存若是分配过又释放了的,还保留有上次的数据) 可以直接将str的值给s.pFrom因为CString有operator const char *()的成员函数 s.pFrom需要以两个NULL字符结束 可以把s.pFrom=str.GetBuffer(256)改为s.pFrom=str.GetBuffer(str.Getlength()); vs2005 mfc ado datagrid菜鸟问题! 新手关于DIB的一个问题。头疼。 哪位高手有关于IC卡编程(串口)的资料和源代码?万分感激 请问一下 MDI 子窗口切换的时候闪烁怎么解决,谢谢 急!请教各位大虾,想把数据采集卡采集来的数据及时的存储到一个文档里,需要用到cFile类吗?请教具体怎么编程阿 这是怎么回事啊? MAPX中的放大缩小怎么搞才能不变形? 新手问题 有没有谁知道解决VC6中的***ClassView消失的问题? 对话框中如何通过GDI+显示JPG格式背景图片。 请教曲线的算法问题 请教实现WinZip某功能的问题!
CString str("e:\\t.txt");
str+=(TCHAR)0;//s.pFrom可以指向多个文件,每个文件名以0分隔,字符串的最后以2个0结束
SHFILEOPSTRUCT s;
s.hwnd=NULL;
s.wFunc=FO_DELETE;
s.pFrom=str.GetBuffer(256);
s.fFlags=FOF_ALLOWUNDO and FOF_NOCONFIRMATION ;
SHFileOperation(&s);以s.pFrom="e:\\t.txt"的形式调用时,"e:\\t.txt"位于数据段,长度为9(加上结束符),因为字符串数据是按4字节边界对齐的,所以其后的3个字节都为0,所以符合pForm的要求,可以通过.
以s.pFrom=str.GetBuffer(256)的方式就不同了,其对应的内存是动态分配的,在堆中,所以其结束符后的数据是随机的,很可能不为0.(该内存若是分配过又释放了的,还保留有上次的数据)
因为CString有operator const char *()的成员函数