string、char* 、int数据类型相互转换

1. String

1.1 string类型转换成char*类型,这里一般有以下三种方法:

1.c_str()方法

string name="Qian";
char *str=(char*)name.c_str();
printf("%s\n",str);

2.data()方法

string name="Qian";
char *str=(char*)name.data();
printf("%s\n",str);

3.copy()方法

string name="James";
char str[10];
name.copy(str,5,0);//5代表复制字符个数,0代表复制的初始位置
str[6]='\0';//一定要自行加上字符串结束符
printf("%s\n",str);

1.2 string类型转换成int double类型

string str="1";
int a=stoi(str);
double b=stod(str);

2. Char

2.1 Char类型转换成string类型

//1、构造函数里有个string(size_t,char)
char x = 'a';
string s(1,x);
//2、string初始化没char,但是push_back可以
string s;
s.push_back(x);
//3、string可以由char*初始化
char xx[2] = {x,0};
string s(xx)

3. int float等转换成string

float a = 1.2323;
string b = to_string(a);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
stringchar*都是在C++中用来表示字符串的数据类型stringC++标准库中提供的一个字符串类,它封装了字符串的操作和管理。使用string类,我们可以方便地进行字符串的赋值、拼接、查找、替换等操作,而无需手动管理内存。例如: ```cpp #include <string> using namespace std; string str = "Hello"; // 使用string类定义一个字符串 str += " World"; // 字符串拼接 int len = str.length(); // 获取字符串长度 cout << str << endl; // 输出字符串 ``` char*是C语言中用来表示字符串的一种方式,它是指向字符数组的指针。使用char*需要手动管理内存,并且需要注意字符串的结束符'\0'的处理。例如: ```cpp const char* str = "Hello"; // 使用char*定义一个字符串常量 char buffer[20]; // 定义一个字符数组作为缓冲区 strcpy(buffer, "Hello"); // 字符串拷贝 strcat(buffer, " World"); // 字符串拼接 int len = strlen(buffer); // 获取字符串长度 printf("%s\n", buffer); // 输出字符串 ``` 需要注意的是,C++中的string类可以与char*进行相互转换,可以通过string的c_str()方法获取一个以'\0'结尾的char*指针,也可以通过char*的构造函数将一个char*指针转换string对象。例如: ```cpp string str = "Hello"; const char* cstr = str.c_str(); // 获取以'\0'结尾的char*指针 char* buffer = "World"; string str2(buffer); // 将char*指针转换string对象 ``` 综上所述,string提供了更方便、安全的字符串操作方式,而char*需要手动管理内存并且对字符串的处理更加繁琐。在C++中,推荐使用string类来处理字符串。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值