C/C++中字符串和数字互转小结
一. 数字 转 char*型
1.sprintf函数(适合C和C++)
示例:
char str[50];
int num = 345;
sprintf(str,"%d",num);
sprintf()函数的功能非常强大,此处只是将int型数字转换成字符串,更多的介绍可见:https://blog.csdn.net/sjf331/article/details/339254
二.数字 转 string型
1.利用stringstream(只适合于C++)
示例:
string str;
int num = 345;
stringstream ss; //记住要包含头文件#include<sstream>
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函数的区别,见:http://www.cnblogs.com/wangkundentisy/p/8511119.html 最底部分。
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;
C/C++中字符串和数字互转小结的更多相关文章
- SQL SERVER 将表中字符串转换为数字的函数 (详询请加qq:2085920154)
在SQL SERVER 2005中,将表中字符串转换为数字的函数共2个:1. convert(int,字段名) 例如:select convert(int,'3')2. cast(字段名 as i ...
- MySQL中字符串与数字比较的坑
公司项目代码中,某枚举字段数据库表中类型是char(1),在代码中,误以为是TINYINT,所以用数字筛选,后来发现结果不对.发现了一个现象,用数字0筛选会把所有的记录给筛选出来. 经过排查发现是在M ...
- java中字符串与数字的互相转换
import java.text.DecimalFormat; /* * String类中本身提供方法可以将几乎所有的基本类型转换为String类型 * sysout alt+/ 可以直接显示Syst ...
- js中字符串转数字的方法
1.当字符串中是纯数字 例如:var s = '234'; /********** 字符串在运算操作中会被当做数字类型来处理 ***************/ s *= 1; /******* str ...
- C/C++中字符串与数字转换
本文总结了四种字符串和数字相互转换的方法,方法一和方法二是c++中的方法,方法三和方法四是C语言库函数的方法. 方法一:c++11中string中添加了下面这些方法帮助完成字符串和数字的相互转换 st ...
- C/C++中字符串与数字相互转换
数字转字符串: 用C++的streanstream: #include <sstream> #Include <string> string num2str(double i) ...
- js中字符串转换为数字
js 字符串转化成数字的三种方法主要有 转换函数.强制类型转换.利用js变量弱类型转换. 1. 转换函数: js提供了parseInt()和parseFloat()两个转换函数.前者把值转换成整数,后 ...
- C/C++中字符串与数字之间的转换
主要有两种方式:C 中能够使用 sprintf 将数字转为字符数组,sscanf 将字符数组转为数字:而在 C++ 中不仅能够使用 C 中的方法,还能够使用 stringstream 实现字符串与数字 ...
- c语言中字符串转数字的函数
ANSI C 规范定义了 atof().atoi().atol().strtod().strtol().strtoul() 共6个可以将字符串转换为数字的函数,大家可以对比学习.另外在 C99 / C ...
随机推荐
- Linux矫正时间
ntpdate -u ntp.api.bz 可以写到定时任务里,每天矫正一次
- IDEA 导出项目war包
部署 Maven 项目,使用 “mvn package” 命令出现错误,不能正确打包时的解决方法 一.最简单.最快的方式: 思路,本地能运行,直接把本地编译后能正确运行的项目文件打包,传到服务器部署即 ...
- 51Nod 1007:正整数分组(01背包)
1007 正整数分组 基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题 收藏 关注 将一堆正整数分为2组,要求2组的和相差最小. 例如:1 2 3 4 5,将1 ...
- 给Linux服务器设置共享文件目录
通过samba软件 :yum install samba 修改配置文件:vi /etc/samba/smb.conf 添加 [WORKSPACE] comment = workspace ...
- Python——dict(自定义类作key)
Python的dict要求key为不可变数据类型,通常采用str或int,但在某些应用场景下,需要采用自定义类型对象作key, 此时的自定义类需要实现两个特殊方法:__hash__.__eq__,用于 ...
- 【HDOJ2767】【Tarjan缩点】
http://acm.hdu.edu.cn/showproblem.php?pid=2767 Proving Equivalences Time Limit: 4000/2000 MS (Java/O ...
- Java 中各种空(""、\u0000、null)的区别?
- oracle重做日志文件硬盘坏掉解决方法
rman target/ list backup; list backup summary; 删除数据库数据文件夹下的log日志,例如/u01/app/oracle/oradata/ORCL下的所有后 ...
- MySQL安装步骤详解
MySQL安装 一.MYSQL的安装 1.打开下载的mysql安装文件mysql-5.5.27-win32.zip,双击解压缩,运行“setup.exe”. 2.选择安装类型,有“Typical(默认 ...
- jquery 复选框(选中/取消)获取状态
$("#login-rem").attr("checked","checked") //设置选中 $("#login-rem&qu ...