应该是你的路径写法不正确造成的,是不是没有注意'\'的写法,在C++里要表示'\'就要写成'\\'。
比如表示C:\1\2.txt,就应该写成C:\\1\\2.txt
可以用SHFileOperation这个API函数
下面的例子将“C:\1”目录下的所有文件(包括文件夹)拷贝到“C:\2”目录中(C:\2可以不存在):
SHFILEOPSTRUCT shFileOp = ;
shFileOp.hwnd = NULL;
shFileOp.wFunc = FO_COPY;
shFileOp.pFrom = C:\\1;
shFileOp.pTo = C:\\2;
::SHFileOperation(&shFileOp);
注意:shFileOp.pFrom和shFileOp.pTo要使用全路径,可以使用通配符,如:
shFileOp.pFrom = C:\\1\\*.txt;
其他不变,则将拷贝所有的TXT文档。
*********************************************
网上邻居里好像不能新建文件夹吧?它不能算作文件夹。
要将CEdit里的内容写入TXT文件:
按住CTRL,双击Edit控件,在弹出的对话框中设置一个CString变量与控件关联。
以后调用Updatedata()就可以得到Edit中的内容了。
比如,Edit与m_strText关联,则代码如下:
void CFileManipulateDlg::Onbackup()
{
//获得当前时间并格式化为字符串
CString strTime = CTime::GetCurrentTime().Format(%Y-%m-%d);
//路径,我用的根目录是c:,你可以根据自己需要修改,
//如果就是程序当前的目录,则用相对路径,直接写文件夹的名称
CString strPath = C:\\ + strTime;
//建立文件夹
CreateDirectory(strPath, NULL);
//txt文件路径,TXT文档名为backup.txt
CString strTxtPath = strPath + \\backup.txt;
//新建一个空的txt文档
CFile txtfile(strTxtPath, CFile::modeCreate | CFile::modeWrite);
//后面可对TXT文档进行写操作,参见CFile类
//调用完后UpdateData(),m_strText的值就会变成Edit框中的内容了
UpdateData();
//CString strTxt = Hello,world!;
//将Edit中的内容写入Txt文档
txtfile.Write((LPCTSTR)m_strText, m_strText.GetLength());
//最后关闭Txt文档
txtfile.Close();
}
你的串号我已经记下,采纳后我会帮你制作
取消
评论