用MFC实现在对话框的编辑框中输入数据,然后输出到txt文件中。为什么输入中文,输出到txt的是013C6AC0??

 我来答
domain_pro
2011-07-23 · TA获得超过279个赞
知道小有建树答主
回答量:359
采纳率:0%
帮助的人:270万
展开全部
貌似是个内存地址呀!你的代码发给我,我看看

137767002@qq.com

我回复你的邮件了,你看看,回答你满意不
777999666qhw
2011-07-22 · TA获得超过4871个赞
知道大有可为答主
回答量:5615
采纳率:25%
帮助的人:4637万
展开全部
你的空间备有关联变量吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
walis2008
2011-07-21 · 超过10用户采纳过TA的回答
知道答主
回答量:32
采纳率:0%
帮助的人:0
展开全部
看你用什么方式写文件的,
追问
是用C++的输出流类ofstream.........
追答
你输出流的字符格式化错误的,如果断点调试会发现传的是地址,
竟然学MFC,为何不用VC和一些文件API操作文件呢?
你看一下,你调试编译一下这个函数。

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;
}

}

调用WriteFile(L"我爱你中国");

如果想得到文本内容,我想你应该会的,
用GetWindowText
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式