c++ 字符串转换大全(string/char*/char[]) 适用ccf

后续会推出字符串相关方法

<-部分内容整理自网络信息,侵权删->

目录

字符串转换(string)

数值转换为字符串(string)

字符串(string)转换为数值

字符串转换(cstring*)

数值转换为字符串(cstring*)

字符串(cstring*)转换为数值

字符串互相转换(string&cstring*)

string 转化为 char*/char[]

char*/char[] 转化为 string

char* 和 char[]互相转化


字符串转换(string)

数值转换为字符串(string)

        •stringstream //需要头文件#include <sstream>

                •主要方法

stringstream ss;
ss<<int;  //将其他类型输入ss
ss>>string;  //将ss内容输出给字符串
ss.str();  //返回字符串流内内容(string)
ss.str(string);  //将字符串内容复制到ss之中,返回(void)

        •全局函数

                •to_string //需要加入编译指令-std=c++11

string k = to_string(val);

                可转换类型:

                •int | float | double 及其变体

字符串(string)转换为数值

        •全局函数 //需要加入编译指令-std=c++11

        •stoi(s,p,b) 把字符串 s 从 p 开始转化成 b 进制的 int

        •long / long long / unsigned long / unsigned long long 同理缩写

        •stof(s,p) 把字符串 s 从 p 开始转化成 float

        •double / long double 同理缩写

------------****------------

字符串转换(cstring*)

需要头文件#include <stdlib.h>

数值转换为字符串(cstring*)

        •sprintf sprintf(s,"%d",123); //"123"

        •itoa itoa(int,string,b) 将 int 转化为 b 进制的 string

                • long / unsigned long 同理缩写

字符串(cstring*)转换为数值

        •atoi atoi(string)

                •long / float 同理缩写

        •strtod strtod(s,*p,d) 将字符串 s 转换为 b 进制的双精度浮点,到 p 停止,并报告不能被转换的所有剩余数字

                •long / unsigned long 同理缩写

------------****------------

字符串互相转换(string&cstring*)

string 转化为 char*/char[]

        •string --> char*

                •string.data() 仅返回字符串内容(char*)

                •string.c_str() 返回带有结束符\0的字符数组(char*)

char cstring[10];
string k = "123456";
const char* cstring = k.c_str();

        •string --> char[]

                •strcpy(char[],char*)

char cstring[10];
string k = "123456";
const char* temp = k.c_str();
strcpy(cstring,temp);
//or
strcpy(cstring,k.c_str());

                •直接赋值

                        •利用循环来逐位赋值

char*/char[] 转化为 string

        •直接赋值

//直接赋值
string k;
char* p = "12345";
k = p;

char* 和 char[]互相转化

        •char* --> char[]

                •strcpy

strcpy(char[],char*)

                •循环赋值

•char[] --> char*

        •直接赋值 char* a = char k[]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值