称有时间捋下c系几个长得很像的string是什么意思
1. cstring和string.h
c++支持了C-style string,即为以'\0'为结尾的字符数组。这个头文件下包含了诸如strlen(p),strcmp(p1,p1),strcat(p1,p2),strcpy(p1,p2),等c程序员耳熟能详的函数。但是C++ primer中不建议使用这中C风格的字符串,(C-style strings are a surprisingly rich source of bugs and are the root cause of many security problems. They are hard to use. .... For most applications, in addition to being safer, it is more efficient to use library strings rather than C-style strings.)
大家各执一词了,还有linus怒喷c++的文战,有兴趣可以搜下“Linux之父炮轰C++:糟糕程序员的垃圾语言”。我是个不求上进的人,不关心大佬们的逻辑,也不关心江湖走势,干我毛事,我只是想混口饭吃罢了。
另外
cplusplus.com给的解释是
<cstring> (string.h)
C++ primer给的解释是
This functions are defined in the cstring header, which is the C++ version of the C header string.h
2.CString
这是MFC的库函数啦,也就是说只能在win下跑吧,我是这么认为的。定义在afx.h头文件下, 我是要用CFileFind查找一个文件夹下所有文件才接触到这个的,用的乐此不疲呢~
3.三者的相互转换
1.string到char * 很好了 直接用函数c_str()
2.CString到char* 用 *.GetBuffer(*.GetLength()) * 代表Cstring对象名哦,不代表* 哦
3.CString 到string直接有个str()函数可以用把。
4.所以CString到char * 也可以有*.str().c_str()
5.string 到CSting string.c_str()即可
就用了这么多,随用随更新吧
本文深入探讨C++中的三种字符串类型:C-style字符串、<cstring>库与MFC库中的CString。从历史背景、使用场景、相互转换及优缺点等角度进行全面解析,帮助开发者在实际项目中做出合理选择。

349

被折叠的 条评论
为什么被折叠?



