社区
C++ 语言
帖子详情
string的c_str() 如何返回TCHAR* ?
tsys2000
2007-07-06 11:28:38
string的c_str() 如何返回TCHAR* ?
...全文
409
7
打赏
收藏
string的c_str() 如何返回TCHAR* ?
string的c_str() 如何返回TCHAR* ?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
healer_kx
2007-07-06
打赏
举报
回复
想自适应吗?
do this.
typedef basic_string<TCHAR, ..., ...> string_t;
string_t a;
TCHAR* p = a.c_str();
agaric
2007-07-06
打赏
举报
回复
... wstring...
Jim_King_2000
2007-07-06
打赏
举报
回复
这个好像不可以。STL不是自适应unicode的。你只能自己转换了。要么就在ANSI字符下用string,在UNICODE字符下用wstring。
taodm
2007-07-06
打赏
举报
回复
看源码的速度肯定比你在csdn刷屏快。
只知道用c_str,没关心过它怎么实现。
string就有至少4种实现方式,那么c_str的实现也应该不是唯一的。
tsys2000
2007-07-06
打赏
举报
回复
老大,要是时间这么充裕就好了,能否直接说明啊
taodm
2007-07-06
打赏
举报
回复
还是看string的源码最说明问题。
自己打开include目录里的string文件一步步看吧。
gogovista
2007-07-06
打赏
举报
回复
if#ifdef _UNICODE
#define string_t wstring
#else
#define string_t string
#endif
Str
ing
,C
str
ing
和
char
*的区别和转换和
char
,w
char
_t,T
CHAR
的区别
Str
ing
、C
str
ing
、
char
*之间的关系与转换一直都是似懂非懂的,而且在MFC程序汇中也不知道什么时候有哪一个,一头雾水。。于是把网上的东西,结合之间的理解整理了一下。 一、概述 先说
char
*(这个是基础),因为其应该是最简单和最基础的,其从作用上讲就相当于一般的int*或者double*,这种基础的结构。但是由于字符串的特殊性,我们有单独用了其他类来处理。在c++中用了
Str
in
c++字符串的转化 (
str
ing
,
char
* t
char
*)
1.将
str
ing
转化为
char
*
str
ing
s("你好");
char
*nihao=s.data();
char
*nihao=s.c_
str
(); 2.将
str
ing
转化为T
CHAR
[]
str
ing
res("你好"); T
CHAR
wc[MAX_PATH]; #ifdef UNICODE _stprintf_s(wc, MAX_PATH, _T("%S"),
LP
STR
与
char
* ,
str
ing
之间的类型转换
T
CHAR
转成
str
ing
std::
str
ing
T
CHAR
2
STR
ING
(T
CHAR
*
STR
) { int iLen = Wide
Char
ToMultiByte(CP_ACP, 0,
STR
, -1, NULL, 0, NULL, NULL);
char
* chRtn = new
char
[iLen * sizeof(
char
)]; Wide
Char
ToMultiByte(CP_ACP, 0,
STR
, -1, chRtn, iLen, NULL, NULL); ...
C++中const
char
*,
str
ing
与
char
*的转化
1:
str
ing
转化成const
char
* 可以通过调用
str
ing
类中的c_
str
函数实现
str
ing
向const
char
*的转换 //
str
ing
与const
char
*转换
str
ing
s = "
str
ing
_To_const
char
* "; const
char
*c_s=s.c_
str
(); 还可以直接使用
str
ing
类中的data()函数,直接对const cha
C++中
str
ing
、
char
*、
char
[]、const
char
*的转换
1)
char
*转
str
ing
:可以直接赋值。2)
char
[]转
str
ing
:可以直接赋值。3)
char
*转
char
[]:不能直接赋值,可以循环
char
*字符串逐个字符赋值,也可以使用
str
cpy_s等函数。4)
str
ing
转
char
[]:不能直接赋值,可以循环
char
*字符串逐个字符赋值,也可以使用
str
cpy_s等函数5)
str
ing
转
char
*:调用
str
ing
对象的c_
str
函数或data函数或copy函数。6)
char
[]转
char
*:直接赋值即可。
C++ 语言
65,211
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章