博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C/C++中字符串和数字互转小结
阅读量:5008 次
发布时间:2019-06-12

本文共 1459 字,大约阅读时间需要 4 分钟。

一. 数字 转 char*型

1.sprintf函数(适合C和C++)

示例:

  char str[50];   int num = 345;   sprintf(str,"%d",num);

sprintf()函数的功能非常强大,此处只是将int型数字转换成字符串,更多的介绍可见:

二.数字 转 string型

1.利用stringstream(只适合于C++)

示例:

string str;   int num = 345;   stringstream ss; //记住要包含头文件#include
ss << num; str = ss.str();

2.利用to_string(只适用于C++,且必须C++11以及以上)

示例:

string str;   int num = 345;   str = to_string(num);

三.char* 转 数字

1.atoi以及相关的函数(适合C和C++)

示例:

char str[] = "345";   int num;   num = atoi(str);

相关的函数包括:C标准库还提供了 atoi, atof, atol, atoll(C++11标准) 函数将字符串转换成int,double, long, long long 型。

2.sscanf函数

示例:

char str[] = "345";   int num;   sscanf(str,"%d",&num);

sscanf函数的功能用样也很强大,具体用法此处不详述。

四.string 转 数字

1.stoi函数(只适用于C++)

示例:

string str = "345";   int num;   num = stoi(str);

stoi函数与atoi函数的区别,见: 最底部分。

2.利用stringstream(只适用于C++)

示例:

string str = "345";   int num;   stringstream ss;   ss << str;   ss >> num;

利用stringstream既可以将string转换成数字,同时也可以将数字转换成string。

需要注意的一点是:一定要搞清楚字符串是char *类型还是string类型。

===================================================================补充===================================

五. string 转 char*

1.利用c_str()函数

示例:

string str = "345";     char * s1 = new char[10];     strcpy(s1,str.c_str());

c_str()是string类中的成员函数,作用是将string转化成char*,并在结尾处添加"\0",但是此处不能直接使用 = 进行直接赋值,而是要使用strcpy拷贝函数。因为c_str()返回的是一个临时指针,不能对其进行操作。

六. char* 转 string

1.直接利用 = 进行赋值即可。

示例:

char * str = "123";string ss;ss = str;

  

转载于:https://www.cnblogs.com/wangkundentisy/p/8891758.html

你可能感兴趣的文章
elasticsearch 动态映射
查看>>
一. python函数基础知识
查看>>
solr入门(一)(环境搭建与测试)
查看>>
Python 得到ISP地址
查看>>
C# 读取 Access
查看>>
Java的内存模型
查看>>
重用代码的危害
查看>>
javascript JSON 字符串
查看>>
集合概念汇总
查看>>
Reflow(回流) 和 Repaint(重绘)
查看>>
百度之星2014
查看>>
根据关键点的脸型的计算
查看>>
UVA - 10129 Play on Words
查看>>
Android实现录屏直播(二)需求才是硬道理之产品功能调研
查看>>
js 中的 ajax
查看>>
【图像算法】图像特征:几何不变矩--Hu矩
查看>>
3 mkdir
查看>>
.Net框架与框架类库-转
查看>>
完全背包详解_动态规划
查看>>
RegEx正则表达式学习笔记
查看>>