c++ 究竟用什么表示字符串

纠结死了,C语言的时候用charwchar_t,C++中有String,Windows有LPSTR,LPWSTR,LPCSTR...,COM有BSTR,MFC有CStri... 纠结死了,C语言的时候用char wchar_t,C++中有String,Windows有LPSTR,LPWSTR,LPCSTR...,COM有BSTR,MFC有CString,怎么这么多表示字符串的方法啊?求指教。 展开
 我来答
519524656
推荐于2018-04-11 · 超过22用户采纳过TA的回答
知道答主
回答量:59
采纳率:0%
帮助的人:55.7万
展开全部
知道的不少嘛~
标准C使用的是char*,标准C++使用的是string,当然也可以使用char
微软扩充了标准C/C++的类型,自定义了许多类型,使得使用更容易,CString肯定比char*好用多了。没有什么标准的用法,就看你的个人习惯了。
标准C/C++的字符串在所有的编译器上都可以通过编译,但如果你使用了LPSTR等类型,则只能在支持这种类型的编译器上通过编译(比如VS系列)
至于TEXT/_T宏的使用,是为了使得UNICODE字符更方便的使用。UNICODE和ASCII的编程区别就不多说了,有很多。LPWSTR是宽字符集的字符串定义,LPSTR就是ASCII字符集的字符串定义。一般加上T的,如果你的编译选项是UNICODE,则编译过后是LPWSTR;如果编译选项是ASCII,编译过后就是LPSTR,这一点通过#if…#else宏可以看到。
他们都是为了使用方便而定义的,我的习惯:在纯C++中使用string,WIN32中使用string,在MFC中使用CString(这个最好用)
百度网友03f1279
2012-08-22 · 超过14用户采纳过TA的回答
知道答主
回答量:84
采纳率:0%
帮助的人:49.9万
展开全部
C++标准库提供std::string表示字符串,应当是所有编译器都会实现的规范。
微软开发的VC当然有自己的字符串,以适应各种类库结构。
因此,单从语言的角度,还是用标准库的std::string来表示。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
shala202020
2012-08-22 · TA获得超过4159个赞
知道小有建树答主
回答量:1410
采纳率:85%
帮助的人:369万
展开全部
C++中用string表示,其他的由于类别不一样表示的形式稍有不同。给出如下的使用(C++)
class Lyhstudent
{
int no;
string name;
string sex;
string year;
string zhanye;
string beizhu;
public:
Lyhstudent(int,string,string,string,string,string);
~Lyhstudent()
{
cout<<"对象已删除"<<endl;
}
};
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
whoami2099
2012-08-22 · TA获得超过175个赞
知道小有建树答主
回答量:463
采纳率:100%
帮助的人:171万
展开全部
都是各自的定义或者封装的类型。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2012-08-22
展开全部
都是啊 所以C++是一门坑爹的语言
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式