【C++】int转char*、char*转int、float转char*、char*转float方法汇总及踩坑指南
一、int转char*
如题,本人一开始的思路是先将int值转换为string类型,然后再通过内置的函数c_str()来转成const char*。
本人的代码如下:
int temp = 10;
const char* temp_char = std::to_string(temp).c_str();
但是如果这么写的话,打印结果是空的。
本人的猜想是转成string的时候还没开辟一个专属于这个string类的内存空间以及对应的指针,所以调用c_str()自然是没有结果的。
本人针对上述的猜想了,做了小改动后,结果就正确了,代码如下:
int temp = 10;
string temp_str = std::to_string(temp);
const char* temp_char = temp_str.c_str();
当然,可以一开始就不用先转string再转char*,可以直接转
方法1:
int temp = 10;
char temp_char[10];
_itoa(temp , temp_char, 10);
方法2:
int temp = 10;
char temp_char[10];
sprintf(temp_char,"%d",temp);
参考资料:
c++ int转char*
二、char*转int
方法1:
char temp_char[] = "200";
int temp_int = atoi(temp_char);
三、float转char*
(float转char*貌似没有_ftoa函数)
方法1:
float temp = 123.456789;
char temp_char[10];
sprintf(temp_char,"%f",temp);
Tip:
使用上述代码时需要在预处理定义中添加_CRT_SECURE_NO_WARNINGS
参考资料:
使用sprintf格式化字符串出错:error C4996: ‘sprintf’: This function or variable may be unsafe.
四、char*转float
方法1:
char temp_char[] = "200.4444";
float temp_int = atof(temp_char);
【C++】int转char*、char*转int、float转char*、char*转float方法汇总及踩坑指南相关推荐
- C 语言实例 - 计算 int, float, double 和 char 字节大小
C 语言实例 - 计算 int, float, double 和 char 字节大小C 语言实例 C 语言实例使用 sizeof 操作符计算int, float, double 和 char四种变量字 ...
- c语言 strchr 返回int,为什么strchr需要一个int来找到char?
其原因纯粹是历史的.请注意,在C语言(K& R C)的旧时代,没有功能原型.那些时代的strchr功能将被声明为 char *strchr(); 并以K& R风格定义为 char *s ...
- java 把char转换成int型,java如何把char型数据转换成int型数据(转)
一字符串,String="2324234535": 把第i个数取出来时是char型的:char temp=String.charAt(i) 如何把char型转换成int型? 我需要 ...
- 函数模板案例_利用函数模板封装一个排序的函数,可以对不同数据类型数组进行排序 排序规则从大到小,排序算法为选择排序 分别利用char数组和int数组进行测试
案例描述: 利用函数模板封装一个排序的函数,可以对不同数据类型数组进行排序 排序规则从大到小,排序算法为选择排序 分别利用char数组和int数组进行测试 #include <iostream& ...
- c语言char数字转int补位,关于char强制转换成int到底是用0还是用1补位的猜想与检验...
关于char强制转换成int到底是用0还是用1补位的猜想与检验 最近学C语言发现char强制转换时值会完全不同,而且变化很大,于是决定写代码测试一下. 先检验一下char型的-3和3在内存中分别怎么表 ...
- C的无符号数据类型int,short,byte 转为 Java对应的数据long,char,short
//从网络中读取C的无符号int,short,byte字节数组,相应转换成java的long,char,short short anUnsignedByte = 0; char anUnsignedS ...
- linux 字符转int,如何在Linux内核中将char []字符串转换为int?
如何在linux内核中将char []转换为int 验证输入的文本实际上是一个int? int procfile_write(struct file *file, const char *buffer ...
- C语言 指针数组-字符指针数组整型指针数组 char*s[3] int*a[5] 数组指针int(*p)[4]
基本介绍 1.指针数组:由n个指向整型元素的指针而组成,里面存放指针 Int *ptr[3]; 2.地址: ptr[i]:元素地址 &ptr[i]:指针地址 图示 代码: 内存布局: 代码 # ...
- 一次事故,我对MySQL时间戳存char(10)还是int(10)有了全新的认识
摘要:char类型字段想走索引的话,必须用引号括起来.如果是时间戳等类型的纯数字,建议还是存为int型吧. 本文分享自华为云社区<一次事故,我对MySql时间戳存char(10)还是int(10 ...
最新文章
- android返回后屏幕旋转了,Android recovery 模式下屏幕显示旋转
- 读锁调度导致高延迟的 case 一例
- 插件不既有Chrome版也有飞鸽传书
- php 获取语句,PHP获取当前服务器的基本语句
- 模板三连击:树状数组+线段树+主席树
- 【maven】idea左侧External Libraries里,没有Maven的依赖包 代码飘红
- JS正则验证手机号码或者电话号码(转)
- Redis在.net中的应用学习
- PC浏览器用ckplayer 播放m3u8视频,hls点播功能的简单实现
- 从面试官的角度聊聊培训班对程序员的帮助,同时给培训班出身的程序员一些建议
- Crypto-Enigma密码机原理
- mysql字符集异常_mysql字符集设置出错问题
- mysql是怎么存储原理_Mysql数据库存储原理是怎样的
- 常见生态问题成因及措施
- mysql 上下文切换_线程上下文切换
- 数据可视化什么意思?
- react项目中使用sass
- app封装css本地,css封装
- R in Action 学习笔记 - 第九章-Analysis of Variance
- 第三届全国网络空间安全技术大赛 Web补题 By Assassin(持续更新)