VC关于字符串的连接,?Cstring和LPSTR

wpy110521 2009-09-21 05:50:39

bool TReadThread::ReceiveData(LPSTR lpNewString,DWORD dwSizeofNewString)
{
CString lpNewStringTemp;
CTime m_StartTime1=CTime::GetCurrentTime();
lpNewStringTemp=m_StartTime1.Format("%H%M%S")+lpNewString;
lpNewString=(LPSTR)(LPCTSTR)lpNewStringTemp;
if (! PostMessage(m_handlemsg,USER_RECEIVEDATA,WPARAM(dwSizeofNewString), LPARAM(lpNewString)))
{
PostHangupCall();
return false;
}
return true;
}


lpNewString是一个串口接收到的数据,LPSTR格式的。我想再这个数据前头加上系统时间,如何处理?
...全文
450 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
wpy110521 2009-09-22
  • 打赏
  • 举报
回复

bool TReadThread::ReceiveData(LPSTR lpNewString,DWORD dwSizeofNewString)
{
int i;
CTime m_StartTime1=CTime::GetCurrentTime();
LPSTR lpNewStringTemp=new char[dwSizeofNewString+6];
strcpy(lpNewStringTemp,m_StartTime1.Format("%H%M%S"));
for (i=0;i<dwSizeofNewString;i++)
{
*(lpNewStringTemp+6+i)=*(lpNewString+i);
}
dwSizeofNewString=dwSizeofNewString+6;
lpNewString=lpNewStringTemp;


我的最终代码,谢谢楼上的各位。
wpy110521 2009-09-22
  • 打赏
  • 举报
回复
可不可以不用CString
yuohoo 2009-09-22
  • 打赏
  • 举报
回复
CString有+号的啊
wpy110521 2009-09-22
  • 打赏
  • 举报
回复
我再详细说说我这段代码要实现的功能吧。
串口收到数据,是LPSTR类型的,
我要在程序中,给这段数据前加上时间。“091235”
如何操作。谢谢各位大大。
oyljerry 2009-09-22
  • 打赏
  • 举报
回复
直接CString +相加就可以了...
wpy110521 2009-09-22
  • 打赏
  • 举报
回复
lpNewString是一个串口接收到的数据,LPSTR格式的。我想再这个数据前头加上系统时间,如何处理?

主要是这个如何处理。我的代码问题太多。
halleluia007 2009-09-21
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 zaodt 的回复:]
用 CString 构造一下就行:


CString str;

str = str + CString( lpNewString );
[/Quote]
应该对啊
yuhudie203 2009-09-21
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 wpy110521 的回复:]
lpNewStringTemp=m_StartTime1.Format("%H%M%S")
这个也不对啊。返回的好像就不是CString的
[/Quote]
应该是啊 为什么不是
CString str = m_StartTime1.Format("%H%M%S");
lpNewStringTemp=str+CString(lpNewString);
改成上面的试试
WuXinyang 2009-09-21
  • 打赏
  • 举报
回复
LPSTR lpString = "abc ";
CString str;
SYSTEMTIME Time;
GetLocalTime(&Time);
str.Format("%s: %d %d %d", lpString, Time.wHour, Time.wMinute, Time.wSecond);
wpy110521 2009-09-21
  • 打赏
  • 举报
回复
lpNewStringTemp=m_StartTime1.Format("%H%M%S")
这个也不对啊。返回的好像就不是CString的
zaodt 2009-09-21
  • 打赏
  • 举报
回复
用 CString 构造一下就行:


CString str;

str = str + CString( lpNewString );

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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