码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2014-12-30 00:19:06      阅读:129      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!