C++的TEXT()怎么连接字符串?

hjzhlc 2014-04-29 12:19:17
我学C#的,对C++不了解,请问大虾下面的程序该怎么改?


char sNum;
sNum="123";
MessageBox(NULL,TEXT("注册码错误,\r\n本机的机器码为:\r\n")+TEXT(sNum),TEXT("Message"),MB_OK|MB_ICONSTOP|MB_SYSTEMMODAL);


C++的字符串真头疼!!

...全文
472 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2014-04-29
  • 打赏
  • 举报
回复
引用 4 楼 hjzhlc 的回复:
[quote=引用 3 楼 zhao4zhong1 的回复:]
TCHAR sNum[20];
TCHAR t[200];
_tcscpy(sNum,_T("123"));

_stprintf(t,_T("%s%s"),_T("注册码错误,\r\n本机的机器码为:\r\n"),sNum);
//或者
_tcscpy(t,_T("注册码错误,\r\n本机的机器码为:\r\n"));
_tcscat(t,sNum);

MessageBox(NULL,t,_T("Message"),MB_OK|MB_ICONSTOP|MB_SYSTEMMODAL);

cannot convert `TCHAR*' to `char*' for argument `1' to `char* strcpy(char*, const char*)'[/quote] test.cpp:
#pragma comment(lib,"user32")
#include <stdio.h>
#include <tchar.h>
#include <windows.h>
TCHAR sNum[20];
TCHAR t[200];
int main() {
    _tcscpy(sNum,_T("123"));

    _stprintf(t,_T("%s%s"),_T("注册码错误,\r\n本机的机器码为:\r\n"),sNum);
    MessageBox(NULL,t,_T("Message"),MB_OK|MB_ICONSTOP|MB_SYSTEMMODAL);

    _tcscpy(t,_T("注册码错误,\r\n本机的机器码为:\r\n"));
    _tcscat(t,sNum);
    MessageBox(NULL,t,_T("Message"),MB_OK|MB_ICONSTOP|MB_SYSTEMMODAL);

    return 0;
}
我一般不提用啥环境,那就是VC6!
BeanJoy 2014-04-29
  • 打赏
  • 举报
回复
引用 6 楼 hjzhlc 的回复:
上面的sNum是char *型号的 char *sNum=GetDiskSerialNum();
用CString或者STL的string。 CString str; str.Format("%s%c%d",一个字符串,一个字符型,一个整形);
hjzhlc 2014-04-29
  • 打赏
  • 举报
回复
上面的sNum是char *型号的 char *sNum=GetDiskSerialNum();
hjzhlc 2014-04-29
  • 打赏
  • 举报
回复
引用 2 楼 BeanJoy 的回复:
TEXT("123")TEXT("abc")
直接这样子用
我的sNum是参数,放不到TEXT()里面,报错
hjzhlc 2014-04-29
  • 打赏
  • 举报
回复
引用 3 楼 zhao4zhong1 的回复:
TCHAR sNum[20];
TCHAR t[200];
_tcscpy(sNum,_T("123"));

_stprintf(t,_T("%s%s"),_T("注册码错误,\r\n本机的机器码为:\r\n"),sNum);
//或者
_tcscpy(t,_T("注册码错误,\r\n本机的机器码为:\r\n"));
_tcscat(t,sNum);

MessageBox(NULL,t,_T("Message"),MB_OK|MB_ICONSTOP|MB_SYSTEMMODAL);

cannot convert `TCHAR*' to `char*' for argument `1' to `char* strcpy(char*, const char*)'
赵4老师 2014-04-29
  • 打赏
  • 举报
回复
TCHAR sNum[20];
TCHAR t[200];
_tcscpy(sNum,_T("123"));

_stprintf(t,_T("%s%s"),_T("注册码错误,\r\n本机的机器码为:\r\n"),sNum);
//或者
_tcscpy(t,_T("注册码错误,\r\n本机的机器码为:\r\n"));
_tcscat(t,sNum);

MessageBox(NULL,t,_T("Message"),MB_OK|MB_ICONSTOP|MB_SYSTEMMODAL);

BeanJoy 2014-04-29
  • 打赏
  • 举报
回复
TEXT("123")TEXT("abc")
直接这样子用
__cc__ 2014-04-29
  • 打赏
  • 举报
回复
呵呵,用CString

65,208

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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