com口程序的问题

雨中流心 2010-01-21 07:32:43
最近在做com口方面的,com口接收一串数据,程序实现了读功能,但是写入文件的功能始终没能实现,不知道问题出在哪了?请各位大虾帮帮小弟。只需将读到的数据存入txt文件即可,可是我的程序存入的是一串乱码。郁闷。

接收数据和写入文件的代码如下,如有错误,请大虾指正,如需源代码,加偶QQ:8468746,双手奉上。
void CTestDlg::OnReceived(WPARAM wParam,LPARAM lParam)
{
//CString strReceiv;


BYTE * pbyData = new BYTE[lParam+1];
memcpy(pbyData,(char *)wParam,lParam);
pbyData[lParam] = 0;
m_ctlRead.AddString((LPCTSTR)pbyData);
UpdateData(FALSE);
delete []pbyData;
//delete []m_pDataRead;

HANDLE hFile;
LPVOID wBuffer;
wBuffer=pbyData;
DWORD writtenNum;
hFile=CreateFile("hello.txt",GENERIC_WRITE,FILE_SHARE_WRITE,NULL,OPEN_ALWAYS,FILE_ATTRIBUTE_NORMAL,0);
if(hFile!=INVALID_HANDLE_VALUE)
{
WriteFile(hFile,wBuffer,2048,&writtenNum,NULL);
if(writtenNum!=0)
MessageBox("write bytes success!\n");
else
MessageBox("write error!\n");
}
CloseHandle(hFile);
}
...全文
68 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
雨中流心 2010-01-22
  • 打赏
  • 举报
回复
谢谢哈,我下午去实验室试试。
zhangyinze123 2010-01-22
  • 打赏
  • 举报
回复
你接收用什么接收的?
写入文本文件,要用字符串写入!
Lstyk 2010-01-21
  • 打赏
  • 举报
回复
那儿确实错了,不知改正后行不行…………



………………
WriteFile(hFile,wBuffer,lparam,&writtenNum,NULL);
………………
Lstyk 2010-01-21
  • 打赏
  • 举报
回复

…………
UpdateData(FALSE); // 你这儿是显示接收到的数据吗?能显示吗?
delete []pbyData; // 放在WriteFile()的后面
//delete []m_pDataRead;

HANDLE hFile;
LPVOID wBuffer;
wBuffer=pbyData; // 在上面已经delete了
DWORD writtenNum;
…………
雨中流心 2010-01-21
  • 打赏
  • 举报
回复
不是,是一串十六进制的数,在超级终端上显示的就是一个符号
Lstyk 2010-01-21
  • 打赏
  • 举报
回复
你是不是接收的就是乱码?

3,881

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧