MFC如何复制一个文本的内容接到另一个文本的后面?

我现在有一个文本,里面有一堆内容假设为X;还有另一个文本,里面有一堆内容假设为Y;我现在想把Y接到X的后面,用MFC应该怎么做?
能给个具体的实现吗,比方说第一个文本路径是_T("c:\1.txt")第二个文本路径是_T("c:\2.txt")
X内容是_T("111111\n"),Y内容是_T("22222222222222222\n");应该怎么做呢

打开文件有几种方式,只读,只读,读写方式。
写文件时把文件指针定位在文件最后,附加上去就可以了,
HANDLE CResultWriter::OpenFile(CString file){
HANDLE hFile = INVALID_HANDLE_VALUE;
hFile = CreateFile(file, // file name
GENERIC_WRITE, // open for read/write
FILE_SHARE_READ, // do not share
NULL, // default security
OPEN_ALWAYS, // overwrite existing file
FILE_ATTRIBUTE_NORMAL, // normal file
NULL); // no template

if (hFile == INVALID_HANDLE_VALUE)
{
return INVALID_HANDLE_VALUE;
}

return hFile;
}

void CResultWriter::WriteFile(CString strTextContents){
CString strLine = strTextContents;
char cLine[4096];
::memset(cLine, 0, sizeof(cLine));
WideCharToMultiByte(
CP_ACP,
0,
strLine.GetBuffer(),
strLine.GetLength(),
cLine,
sizeof(cLine),
NULL,
NULL);

DWORD dwBytesWritten = 0;
DWORD bufLength = (DWORD)(strlen(cLine));
::SetFilePointer(m_hFile, 0, 0, FILE_END);
HANDLE m_hFile = OpenFile(L"C:\test.txt");
if (::WriteFile(m_hFile, cLine, bufLength, &dwBytesWritten, NULL) == 0){
DWORD error = ::GetLastError();
::MessageBox(NULL, L"error to save result to file", L"error", MB_OK);
}
if ((m_hFile != NULL) && (m_hFile != INVALID_HANDLE_VALUE)){
::CloseHandle(m_hFile);
m_hFile = INVALID_HANDLE_VALUE;
}

}

using this function like this:
WriteFile(L"I love you !");
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-07-21
用CEdit的getWindowText和setWindowText追问

能给个具体的实现吗,比方说第一个文本路径是_T("c:\1.txt")第二个文本路径是_T("c:\2.txt")
X内容是_T("111111\n"),Y内容是_T("22222222222222222\n");应该怎么做呢 谢谢!

追答

你问的是这个啊?还以为你说编辑框里有一个是X,另一个是Y呢。

第2个回答  2011-07-21
用CEdit的getWindowText和setWindowText +1

MFC如何复制一个文本的内容接到另一个文本的后面?
打开文件有几种方式,只读,只读,读写方式。写文件时把文件指针定位在文件最后,附加上去就可以了,HANDLE CResultWriter::OpenFile(CString file){ HANDLE hFile = INVALID_HANDLE_VALUE;hFile = CreateFile(file,\/\/ file name GENERIC_WRITE,\/\/ open for read\/write FILE_SHARE_READ,\/\/ do not...

如何在MFC中把一个对话框的控件复制到另一个对话框?
直接ctrl+a全选复制粘贴。MFC中从一个dialog复制控件到另一个dialog只需要选中,复制,粘贴就可以了,剩下的就是添加调整布局和修改消息相应。同一个dialog的控件复制要注意ID和消息相应函数的修改,否则容易异常。

...关闭也不消失,除非我重新读取另一个文本内容
回答:首先,你要了解edit他是怎么储存文本的。 edit他储存文本是存在内存空间里面,如果你把程序关闭了,关闭程序的同时也会把内存空间的数据释放掉,也就是说,内存空间没有了 edit存放的文本也就没有了。 你是看到那种程序 像QQ 就好像有记忆似的能记住QQ号 让你直接输密码。其实QQ在启动的过程中,就重...

MFC如何将TXT文件中的内容添加到static TEXT中
c读写txt文档,搜一下,就用c语言库函数也行。mfc下还可以搜一搜CStdioFile和CFile怎么读写txt。至于输出至static TEXT 添加了控件,使用类向导添加CString关联变量,只需要把读取的字符串赋值给那个变量,调用:UpdateData(TRUE);具体的,百度:vc 静态文本控件 另外,我这里有个曾经做的库,只要在txt文...

MFC VC 编程 ,如何获取其他程序的编辑框中的文本内容?
有多种方式,最简单的一种是通过FindWindow查找到“1111”这个父窗口,然后FindWindowEx查找子窗口(可以指定EDIT)类名。这样就得到了一个HWND,于是直接SetWindowText即可。

mfc 用c++怎样在一个文本框中输入字,在下一个只读文本框中自动显示出...
不想用DDX的话,ctrl+w 调出 classwizard ,然后重载 IDC_EDIT1的 EN_CHANGE,在 OnChangeEdit1 里改变EDIT2的文字即可。CString str;GetDlgItemText(IDC_EDIT1,str);SetDlgItemText(IDC_EDIT2,str);

用vc++MFC怎样把电脑里文本文件内容按行读取到多个编辑框控件中?
你这样子不是把单个文件中的所有内容都复制到同一个字符串中去了么?个人感觉下面这种办法有点儿笨,不人性化:外部设置一个变量,每读一次(file.ReadString(strText)),变量就加1,在while循环中根据变量的值来判断给哪个编辑框的变量赋值 不知满意否 ...

MFC里的文本编辑框,怎么把光标始终定位到字符串最后???
CSize sz=dc.GetTextExtent(m_strLine);\/\/下面设置光标跟在字的后面 CPoint pt;pt.x=m_ptOrigin.x+sz.cx;pt.y=m_ptOrigin.y;SetCaretPos(pt);这里m_strLine是你已经输出的文字,用GetTextExtent()函数(它是CDC的函数)得到文字的长度sz(定义为CSize类型),然后用SetCaretPos()函数(它...

MFC从文本从读取了一个数据,如何输出到编辑框中?
假设编辑框关联的变量为 m_show 定义一个cstring 类型的变量str,具体如下 sctring str ;str.Format("%s",...);\/\/这里是你要显示的内容 m_show=str;updatedata(0);

MFC的文本框怎么实现多次输入文本,输入文本单行显示
很简单,先用CEdit的GetWindowTextLength返回文本长度len,然后用SetSel(len,len)来选定文本(就是选定最后面的空白),然后用ReplaceSel替换就成了;这样的操作结果就相当于在最后面添加文本

相似回答