2 dongguxidu1 dongguxidu1 于 2016.03.01 10:20 提问

C++简单日志类,处理char*,std::string ,CStringA这三种字符串类型?
如:
void Out(const char* s);
void Out(const std::string& s);
void Out(const CStringA& s);

感觉这样做可以减少很多显示的字符串类型转换。

1个回答

lm_whales
lm_whales   Rxr 2016.03.01 11:18
已采纳

const std::string 和 CString 比较难以共处
CString 实现了
const std::string 和const std::wstring

二者之一的功能,如果是MBCS 他就是 和 const std::string 大致相当的字符串
如果是 UNICODE 他就是 和const std::wstring 大致相当的字符串
二者任意一个实现了,都不必实现 const char * 字符串 的处理函数了

dongguxidu1
dongguxidu1 谢谢~
接近 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
ATL::CStringA和std::string之间转换的一些误区
        对于刚做windows下VC的开发同学,类型转换应该是一个令其很苦恼的问题。我刚写工作的时候,也为这类问题不停的在网上搜索转换方法。最近工作中遇到一个“神奇”的bug(一般“神奇”的问题往往是低级错误导致的),最后跟踪发现还是类型转换问题。(转载请指明出处)         ATL::CStringA和std::string都可以“接受”\0,也就是说,在CStringA的对象的内...
C++ char数组和string类简单使用总结
使用char数组,进行字符串的操作,是c风格的操作方式。 string是C++的风格,感觉string本质上就是一个vector 以下代码详细展示了字符串的常见操作 #include #include // make string class available //#include // C-style string librar
C++中string类型与char *类型转换
1.string类型转换为char * (1)使用stringstream进行转换 代码为: #include #include #include #include using namespace std; int main(int argc, char *argv[]) {       stringstream sstr;       sstr.clear()
C++ 中string类型和 C风格 char类型字符串比较
与char*不同的是,string不一定以NULL('\0')结束。string长度可以根据length()得到,string可以根据下标访问。所以,不能将string直接赋值给char* 1、首先必须了解,string可以被看成是以字符为元素的一种容器。字符构成序列(字符串)。有时候在字符序列中进行遍历,标准的string类提供了STL容器接口。具有一些成员函数比如be
char * 与 string 类型相互转换方法--Linux C/C++
http://blog.csdn.net/harry_lyc/article/details/6010167 1:对于C风格的字符串比如char*,char str[],转换为 string          char * 和char str[]类型可以直接转换为string 类型;           即,在char * chstr,                 
string类的简单实现(深拷贝,浅拷贝)
一、前言▶在c语言中我们来描述一个字符串是用const char* p=”abcdef”;然后我们也学习了许多关于字符串的操作函数。 ▶那么,在学习了面向对象的c++语言之后,我们可以定义一个字符(string),这个类可以定义一个字符串对象;并且可以对该对象内存储的字符串进行各种操作; ▶接下来,我们模拟实现一个简单的string类;只需要实现★构造,★拷贝构造和★赋值运算符重载★析构
将C++的std::string类型变量赋值给char类型数组
解决方法如下: char buf[2048]; std::string sendMsg; strcpy(buf,sendMsg.c_str());
unsigned char* 类型数据转换字符串 string
如下方法 //const unsigned short *p = (const unsigned short *)apBulkBuf; //const WORD *p = (const WORD *)apBulkBuf; if (*(unsigned short *)apBulkBuf == kSynWordDeviceInfoValue) //if (*p == kSynWordDeviceIn
将char* 赋值给std::string的一些陷阱
这段时间,总是要使用char或者char* 赋值给std::string,踩了不少坑。于是写了个测试代码: #include #include using namespace std; int main(int argc, char* argv[]) { string str1; cout << "str1:" << str1 << " length: " << str
C/C++基础::sizeof() 与 sizeof(string)
sizeof(string 对象) ≠ string 对象的.size()成员函数(.size()与.length()不作区别,返回 string 的字符个数) string 的实现在各库中可能有所不同,但在同一个库中相同的一点是,无论string里存放了多长的字符串,它们的sizeof()都是固定的(举个不太恰当的例子,就好比,int a; 无论int变量a取多大的值,sizeof(a)总为4),