C++ 中 char 与 int 转换问题

itoa

功  能:把一整数转换为字符串

函  数:char *itoa(int value, char *string, int radix);

解  释:itoa 是英文integer to array(将 int 整型数转化为一个字符串,并将值保存在数组 string 中)的缩写。

参  数:value: 待转化的整数。
          radix: 是基数的意思,即先将value转化为radix进制的数,范围介于2-36,比如10表示10进制,16表示16进制。
          *string: 保存转换后得到的字符串。

返回值:char* 指向生成的字符串, 同*string。

备  注:在 C 语言中该函数的头文件是"stdlib.h"。

示  例:

#include <iostream>
using namespace std;
int main()
{
    int num = 123456;
    char str[25];
    itoa(num, str, 10);
    cout<<"interger = "<<num<<endl;
    cout<<"string = "<<str<<endl;
    return 0;
}

结  果:interger = 12345
          string = 123456

atoi

功  能:把字符串转换成整型数

函  数:int atoi(const char *nptr);

说  明:atoi()会扫描参数nptr字符串,检测到第一个数字或正负符号时开始做类型转换,之后检测到非数字或结束符 \0 时停止转换,返回整型数。  

备  注:在 C 语言中该函数的头文件是"stdlib.h"。

示  例:

#include <iostream>
using namespace std;
int main()
{
    int num;
    char *str = "12345.67";
    num 

=

 atoi(str);
    cout<<"interger = "<<num<<endl;
    cout<<"string = "<<str<<endl;
    return 0;
}

结  果:interger = 12345
          string = 12345.67

  • char 转 string

string s(char *);

这里的只能初始化,在不是初始化的地方最好还是用 assign()。

  • string 转 char *

char *p = string.c_str();

文章来自 雨儿的博客,更多请参见该博文。

时间: 2024-12-28 10:20:45

C++ 中 char 与 int 转换问题的相关文章

C++ 中类型转换 xmlChar * 与Char * 转换,Char *与int 转换,Char *与Float转换,int 与portNumBits转换

使用libxml2 得到一个节点的内容: xmlChar *value = xmlNodeGetContent(node) 1.XmlChar 转换成Char char * stream = (char *) value; 2.Char *与  int 转换 int x = atoi(stream); #include "stdio.h" #include "stdlib.h" main() { char *p="1234567"; int x;

C#中如何把int转换成两个字符的string

部门新开了项目,所以一整周的时间都在瞎忙,为什么称瞎忙?所负责的内容,并没有做好,也是一万个心塞啊.... 说一下最近碰到的一些问题. 用到了计时,但是比如定时是一分半钟,可是显示的时候,想让显示为1:30或者01:30,怎么做呢?说一个自己用的,其他的以后补充. 举个栗子: int timer=(int)(100%60);//second string str=timer.ToString().PadLeft(2,'0'); //将int型转换为String类型的,会转换成2位字符串,若位数不

Java中char,short,int,long占几个字节和多少位

1.字节:byte:用来计量存储容量的一种计量单位:位:bit 2.一个字节等于8位  1byte = 8bit char占用的是2个字节 16位,所以一个char类型的可以存储一个汉字. 整型: byte:1个字节 8位 -128~127 short :2个字节 16位 int :4个字节 32位 long:8个字节 64位 浮点型: float:4个字节 32 位 double :8个字节 64位 注:默认的是double类型,如3.14是double类型的,加后缀F(3.14F)则为flo

解析PHP中intval()等int转换时的意外异常情况

<?php$a = 9.45*100;var_dump($a);var_dump(intval($a));$a = 945*1.00;var_dump($a);var_dump(intval($a));?> 运行结果:float(945) int(944) float(945) int(945) 这个代码虽然把结果都告诉了,但是很多人还是看不懂,这样就解释不了为什么会有意想不到的转型情况发生.网上对这个情况讲的都模棱两可不知所云的.我在这里简单的解释下:9.45这个数字在我们看到的是这样的,但

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:/

( 转)Sqlserver中tinyint, smallint, int, bigint的区别 及 10进制转换16进制的方法

一.类型比较 bigint:从-2^63(-9223372036854775808)到2^63-1(9223372036854775807)的整型数据,存储大小为 8 个字节.一个字节就是8位,那么bigint就有64位 int:从-2^31(-2,147,483,648)到2^31-1(2,147,483,647)的整型数据,存储大小为 4 个字节.int类型,最大可以存储32位的数据 smallint:从-2^15(-32,768)到2^15-1(32,767)的整数数据,存储大小为 2 个

类型转换 - CString,int,string,char*之间的转换

<C++标准函数库>中说的 有三个函数可以将字符串的内容转换为字符数组和C—string 1.data(),返回没有”\0“的字符串数组 2,c_str(),返回有”\0“的字符串数组 3,copy() ................................................................. int 转 CString: CString.Format("%d",int); ..............................

error C2665: “operator new” : 5个重载中没有一个可以转换参数1(从“const char [71]”类型)

error C2665: "operator new" : 5个重载中没有一个可以转换参数1(从"const char [71]"类型) 这个错误是怎么回事啊,搜索了整个项目好像没有可疑的new操作阿.这个错误是在将两个工程合并成一个过程中产生的.合并前没有这样的错误. MainFrm.cpp d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\xmemory(34) : error C266

VC CString,int,string,char*之间的转换

1 CString,int,string,char*之间的转换 string 转 CString CString.format("%s", string.c_str()); char 转 CString CString.format("%s", char*); char 转 string string s(char *); string 转 char * char *p = string.c_str(); CString 转 string string s(CStr