mfc如何以对话框的内容命名并创建txt文件
展开全部
应该是你的路径写法不正确造成的,是不是没有注意'\'的写法,在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();
}
你的串号我已经记下,采纳后我会帮洞告你制作
比如表示"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();
}
你的串号我已经记下,采纳后我会帮洞告你制作
展开全部
CString strFilePathAndName;
//这里把路径和文件名,烂搜也就是你的对话框内容转换成字符串,赋给strFilePathAndName,带.txt
CStdioFile file;
if(file.Open(strFilePathAndName, CFile::modeCreate | CFile::modeNoTruncate | CFile::modeWrite | CFile::typeText))
{
//创建成功
}
else
{
//创建失败
}
CString strTemp;
//可大升以写些数据,滚历老转成字符串,存到这个txt文件里
file.Write(strTemp,strTemp.GetLength());
//这里把路径和文件名,烂搜也就是你的对话框内容转换成字符串,赋给strFilePathAndName,带.txt
CStdioFile file;
if(file.Open(strFilePathAndName, CFile::modeCreate | CFile::modeNoTruncate | CFile::modeWrite | CFile::typeText))
{
//创建成功
}
else
{
//创建失败
}
CString strTemp;
//可大升以写些数据,滚历老转成字符串,存到这个txt文件里
file.Write(strTemp,strTemp.GetLength());
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询