C/C++各种数据类型转换汇总

以下是Windows/Linux系统中常用的C/C++各种数据类型转换汇总:

#include <stdio.h>
#include <stdlib.h>
#include <iostream>
#include <string>
#include <string.h>

int main()
{
	// 1--> int to char[]
	int tmp1 = 100;
	char ch1[15];
	sprintf(ch1, "%d", tmp1);
	std::cout<<ch1<<std::endl;

	// 2--> int to string
	int tmp2 = 111;
	char ch2[15];
	sprintf(ch2, "%d", tmp2);
	std::string str2;
	str2 = std::string(ch2);
	std::cout<<str2<<std::endl;

	// 3--> int to enum
	enum enum3 {
		A,
		B
	};
	int tmp3 = 222;
	enum3 val3 = static_cast<enum3>(tmp3);
	std::cout<<val3<<std::endl;

	// 4--> char[] to string
	char arr4[] = "this is a sample";
	std::string str4;
	str4 = std::string(arr4);
	std::cout<<str4<<std::endl;

	// 5--> char to int
	char ch5 = ‘8‘;
	int val5 = ch5 - ‘0‘;// val5 is bounded by 0 to 9
	std::cout<<val5<<std::endl;

	// 6--> char[] to int
	char arr6[] = "12345";
	int tmp6;
	sscanf(arr6, "%d", &tmp6);
	std::cout<<tmp6<<std::endl;

	// 7--> char* to int
	char* pch7 = "444";
	int tmp7;
	tmp7 = atoi(pch7);
	std::cout<<tmp7<<std::endl;

	// 8--> char* to float
	char* pch8 = "55.5";
	float tmp8;
	tmp8 = (float)atof(pch8);
	std::cout<<tmp8<<std::endl;

	// 9--> char* to double
	char* pch9 = "66.666";
	double tmp9;
	tmp9 = atof(pch9);
	std::cout<<tmp9<<std::endl;

	// 10--> float to char[]
	float tmp10 = 11.11;
	char ch10[20];
	sprintf(ch10, "%f", tmp10);
	std::cout<<ch10<<std::endl;

	// 11-> int to char*
	int tmp11 = 777;
	char* pch11;
	char ch11[20];
	sprintf(ch11, "%d", tmp11);
	pch11 = ch11;
	std::cout<<pch11<<std::endl;

	// 12--> double to char[]
	double tmp12 = 8.888;
	char arr12[20];
	sprintf(arr12, "%f", tmp12);
	std::cout<<arr12<<std::endl;

	// 13--> char* to string
	char* pch13 = "hello, world";
	std::string str13;
	str13 = std::string(pch13);
	std::cout<<str13<<std::endl;

	// 14--> string to char[]
	std::string str14 = "dog, cat";
	char arr14[255];
	strncpy(arr14, str14.c_str(), sizeof(arr14));
	arr14[sizeof(arr14) - 1] = 0;
	std::cout<<arr14<<std::endl;

	// 15--> string to const char*
	std::string str15 = "ha ha";
	const char* pch15;
	pch15 = str15.c_str();
	std::cout<<pch15<<std::endl;

	// 16--> float to int
	float ftmp16 = 99.99;
	int tmp16;
	tmp16 = static_cast<int>(ftmp16);// static_cast<int>(ftmp16 + 0.5)
	std::cout<<tmp16<<std::endl;

	return 0;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2025-01-02 03:21:23

C/C++各种数据类型转换汇总的相关文章

JS中数据类型转换

JS中数据类型转换汇总 JS中的数据类型分为 [基本数据类型] 数字 number 字符串 string 布尔 boolean 空 null 未定义 undefined [引用数据类型] 对象 object - 普通对象 - 数组对象 (Array) - 正则对象 (RegExp) - 日期对象 (Date) - 数学函数 (Math) ... 函数 function 真实项目中,根据需求,我们往往需要把数据类型之间进行转换 把其它数据类型转换为number类型 1.发生的情况 isNaN检测的

Objective-C数据类型、数据类型转换

数据类型 1.Objective-C数据类型可以分为:基本数据类型.对象数据类型和id类型. 2.基本数据类型有:int.float.double和char类型. 3.对象类型就是类或协议所声明的指针类型,例如: NSAutoreleasePool *pool ,其中,NSAutoreleasePool是一个类,NSAutoreleasePool *是它指针类型或叫对象类型. 4.id类型可以表示任何类型,一般只是表示对象类型,不表示基本数据类型,所以刚才的变量可以声明pool也可以声明为id

数据类型转换-运算符

##基本数据类型转换 - 默认顺序是 * byte->short->int->long->float->double - 自动提升规则(针对二元操作符) * 所有的byte,short,char型会自动提升为int型 * 若一个操作数是long类型,则另一个操作数也会转换为long类型,计算的结果类型也是long类型 * float类型,double类型跟long类型的提升规则一样 - 注意 * 默认浮点型是double类型,默认整型是int类型 * 举例说明: ``` fl

Eclipse-运行符-数据类型转换-环境变量配置

1.能够使用Eclipse快捷键 ctrl + /   单行注释:再按一次则取消: ctrl + shift + /  多行注释:  ctrl + shift + \  取消多行注释: ctrl + shift + f  格式化代码 ctrl + d  删除光标所在行 shift + enter 光标所在行的下方增加一行空白,无论光标在该行的什么位置 ctrl + alt + 向下箭头  向下重复增加该行代码 alt + shift + x  运行代码 alt + / 自动补全  (Syso会自

简谈-Python的输入、输出、运算符、数据类型转换

输出: 格式化输出: 看到了 % 这样的操作符,这就是Python中格式化输出. 换行输出: 在输出的时候,如果有 \n 那么,此时 \n 后的内容会在另外一行显示 输入: 在python2.7当中,使用:raw_input(),在python3中不能使用.Python3只有input() 在python2中的input()把用户输入的东西当成式子(字符)了.所以在python2中一般用raw_input() python3中的input与python2中的raw_input()功能一样 运算符

JavaScript中数据类型转换总结

在js中,数据类型转换分为显式数据类型转换和隐式数据类型转换. 1, 显式数据类型转换 a:转数字: 1)Number转换: 代码: var a = "123"; a = Number(a); 注意: a)如果转换的内容本身就是一个数值类型的字符串,那么将来在转换的时候会返回自己. b)如果转换的内容本身不是一个数值类型的字符串,那么在转换的时候结果是NaN. c)如果要转换的内容是空的字符串,那以转换的结果是0. d)如果是其它的字符,那么将来在转换的时候结果是NaN. 2)pars

Arduino中数据类型转换 float/double转换为char 亲测好使,dtostrf()函数

如何轻松玩转Arduino单片机,当我在进行数据转换的时候,遇到了问题,尝试了C语言和C++中的好多函数,都没有达到将float型数据转换为char型的目的.苦苦查阅资料后,终于找到了一个大神级函数!!!dtostrf(),可以轻松实现数据类型from   float   to  char .            get it 格式如下: char* dtostrf(double _val,signed char _width, unsigned char prec, char* _s) 参数

Arduino中数据类型转换 int转换为char 亲测好使,itoa()函数

由于博主最近在做一个项目,需要采集不同传感器的数据,包括float型的HCHO,以及int型的PM2.5数据.但是最终向服务器上传的数据都得转换为char型才能发送,这是借鉴了一个github上面的实例实现了在Arduino上部署socket使之与服务器进行交互. github实例如下: https://github.com/washo4evr/Socket.io-v1.x-Library 在本项目中多次使用了数据类型转换,前文提到了float和double类型转换为char,如下:http:/

SpringMVC框架下数据的增删改查,数据类型转换,数据格式化,数据校验,错误输入的消息回显

在eclipse中javaEE环境下: 这儿并没有连接数据库,而是将数据存放在map集合中: 将各种架包导入lib下... web.xml文件配置为 <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/