VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 944|回复: 6

两个LPCTSTR值如何相加呢?

[复制链接]

2

主题

3

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
发表于 2020-1-31 21:00:01 | 显示全部楼层 |阅读模式
两个LPCTSTR值如何相加呢?
例如
LPCTSTR a1=_T("a");
LPCTSTR a2=_T("a2");
LPCTSTR a3;

如何将a1和a2相加赋给a3

谢谢:)
回复

使用道具 举报

0

主题

8

帖子

8.00

积分

新手上路

Rank: 1

积分
8.00
发表于 2020-3-18 22:15:01 | 显示全部楼层
strcat
wcscat
回复

使用道具 举报

0

主题

36

帖子

22.00

积分

新手上路

Rank: 1

积分
22.00
发表于 2020-3-21 20:15:01 | 显示全部楼层
#include <string>

std::basic_string<TCHAR> s1 = a1;
std::basic_string<TCHAR> s2 = a2;
std::basic_string<TCHAR> s3 = s1 + s2;
LPCTSTR a3 = s3.c_str();
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-9-5 11:15:02 | 显示全部楼层
strcat  (a1,a2); //字符串连接函数
a3=a1;
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-9-5 11:30:01 | 显示全部楼层
strcat (a1,a2);
a3=a1;
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-9-5 12:30:01 | 显示全部楼层
绝对不能用strcat,因为strcat会修改a1的内容,也就是要求第一个参数不能是const的。
注意你的字符串是常量指针,而且指向的是字符串常量,存储于常量区的数据是不能被修改的。
而且你的a3根本没有分配空间。
首先a3应该定义为LPTSTR,否则它是常量不能修改。然后用:
a3 = (TCHAR *) malloc(255 * sizeof(TCHAR));
strcpy (a3, a1);
strcat (a1, a2);
这样才行。
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-9-5 12:45:01 | 显示全部楼层
a3 = CString(a1) + a2;
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表