C++字符串类型转换

  • string 转 char*
string str ("hello");
char *p = str.c_str();
  • char* 转 string
char *p = "hello";
string str(p); 
  • 数值类型转为 string
    使用C++标准库函数
#include <string>
string to_string (int val);
string to_string (long val);
string to_string (long long val);
string to_string (unsigned val);
string to_string (unsigned long val);
string to_string (unsigned long long val);
string to_string (float val);
string to_string (double val);
string to_string (long double val);
  • string 转 数值类型
    方法1:string先转char*,再转数值类型,使用C标准库函数
#include <stdlib.h>
string str("123");
int i = atoi(str.c_str());

方法2:使用C++库函数,声明在string.h中

#include <string>
int stoi (const string& str, size_t* idx = 0, int base = 10);
long stol (const string& str, size_t* idx = 0, int base = 10);
unsigned long stoul (const string& str, size_t* idx = 0, int base = 10);
long long stoll (const string& str, size_t* idx = 0, int base = 10);
float stof (const string& str, size_t* idx = 0);
double stod (const string& str, size_t* idx = 0);
long double stold (const string& str, size_t* idx = 0);
  • char* 转 数值类型
    使用C标准库函数
#include <stdlib.h>
int atoi(const char* p)
long atol(const char* p)
long long atoll(const char* p)
  • 数值类型 转 char
    先转string 再转char
#include <string>
int i = 123;
string str = to_string(i);
char* p = str.c_str();
  • 为了记忆方便,都可以把string当做中间媒介来实现字符串与数值类型的转换
    int 转 char:int 先 to_string() 转为 string,string 再 string.c_str() 转为char
    char* 转 int:char* 先直接string str(char*) 转为 string,再 stoi() 转为 int
    int 转 string:to_string()
    string 转 int:stoi()

转载于:https://www.cnblogs.com/yyehl/p/7092271.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值