首页 > 其他 > 详细

一、c_str()、atoi()、进制转换等

时间:2014-12-30 00:17:51      阅读:430      评论:0      收藏:0      [点我收藏+]

c-str()的功能:当程序用到atoi()、strcpy()这类的C函数时,就要将string类字符串转换成char型字符串;(string是个类,char是个常规类型)

c_str()的实现:

 1 #include <iostream>
 2 using namespace std;
 3 
 4 //定义一个简易的string类,实现将传进来的任意类型的字符串 储存到 char*指针指向的空间里
 5 class my_string
 6 {
 7 public:
 8     my_string(const char* str = nullptr)
 9     {
10         if(nullptr == str)        //写判断语句时常量要写在前面,以减少出错(万一少些一个 ‘=‘ 系统会报错)
11         {
12             data = nullptr;
13         }
14         else
15         {
16             data = new char[strlen(str)+1];    //+1 是因为有 ‘\0‘
17             strcpy(data,str);            //只能strcpy(char* dest,const char* src)这一种参数形式
18         }
19     }
20     const char* c_str(void)
21     {
22         return data;
23     }
24 private:
25     char* data;
26 };
27 int main(void)
28 {
29     my_string s("hello world!");
30     cout << s.c_str() << endl;
31     return EXIT_SUCCESS;
32 }

上式代码中有提到的strcpy函数的实现:

 

一、c_str()、atoi()、进制转换等

原文:http://www.cnblogs.com/zenseven/p/4192583.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!