C++中 int char 的相互转换

特别注意char 只能处理单个字符如,1,2,3到9等,不能接收11,11等多位数字

// 取到一个char的ASCII值

char c=‘A‘;

int i=c;

printf("%d",i);

//值为数字的char转为对应数字

char c1=‘3‘;

int c1int=c1-‘0‘;

//int转为char型

int i2=4;

char c2=i2+‘0‘;

printf("%c",c2);

一个数(而不是一个数字) 如何转为char str[]呢?

代码来自 http://bbs.csdn.net/topics/70251034

char tmp[16];
    int isNegtive = 0;
    int index;

if(m < 0)
    {
        isNegtive = 1;
        m = - m;
    }

tmp[15] = ‘\0‘;
    index = 14;
    do 
    {
        tmp[index--] = m % 10 + ‘0‘; //+‘0‘ 不能少  否则存入的ASCII值
        m /= 10;
    } while (m > 0);

if(isNegtive)
        tmp[index--] = ‘-‘;
    
    //这里如果不愿调用库函数,可以使用for循环拷贝字符
    strcpy(buf, tmp + index + 1);

return buf;

如果涉及到较复杂的转换可以采用


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16


#include <iostream>

#include <string>

using namespace std;

int main()

{

    int n = 65535;

    char t[256];

    string s;

    sprintf(t, "%d", n);

    s = t;

    cout << s << endl;

    return 0;

}

或者


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17


//第二种方法

#include <iostream>

#include <string>

#include <strstream>

using namespace std;

int main()

{

    int n = 65535;

    strstream ss;

    string s;

    ss << n;

    ss >> s;

    cout << s << endl;

    return 0;

}

C++中 int char 的相互转换,布布扣,bubuko.com

时间: 2024-10-16 07:27:26

C++中 int char 的相互转换的相关文章

java中int,char,string三种类型的相互转换

如何将字串 String 转换成整数 int? int i = Integer.valueOf(my_str).intValue(); int i=Integer.parseInt(str); 如何将字串 String 转换成Integer ? Integer integer=Integer.valueOf(str); 如何将整数 int 转换成字串 String ? 1.) String s = String.valueOf(i); 2.) String s = Integer.toStrin

[转] java中int,char,string三种类型的相互转换

原文地址:http://blog.csdn.net/lisa0220/article/details/6649707 如何将字串 String 转换成整数 int? int i = Integer.valueOf(my_str).intValue(); int i=Integer.parseInt(str); 如何将字串 String 转换成Integer ? Integer integer=Integer.valueOf(str); 如何将整数 int 转换成字串 String ? 1.) S

C++ 中 int,char*,string,CString之间相互转换-整理

#include <string> //使用C++标准库的string类时 using namespace std; //同上 #include <sstream> #include <iostream> #include <stdlib.h> //要将string类和int类型直接转换最好有这些包含, //因为自己写一个转换函数比较方便,函数定义参考如下 string getstring ( const int n ) { std::stringstrea

C++ 中int,char,string,CString类型转换

1. c++中string到int的转换 1) 在C标准库里面,使用atoi: #include <cstdlib> #include <string> std::string text = "152"; int number = std::atoi( text.c_str() ); if (errno == ERANGE) //可能是std::errno { //number可能由于过大或过小而不能完全存储 } else if (errno == ????)

OpenCV里IplImage和char *的相互转换,以及极易忽视的细节

OpenCV中IplImage和单字节char*的相互转换 从 IplImage到 char* : data = image->imageData //对齐的图像数据 或者data = image->imageDataOrigin //未对齐的原始图像数据 从 char* 到 IplImage: image =cvCreateImageHeader(cvSize(width,height), depth, channels); cvSetData(image, data, step); ste

Mysql中的char与varchar length()与char_length()

在mysql中,char和varchar都表示字符串类型.但他们存储和检索数据的方式并不相同. 在表结构定义中声明char和varchar类型时,必须指定字符串的长度.也就是该列所能存储多少个字符(不是字节,是字符).例如:char(10)和varchar(10)都能存储10个字符. 声明为char的列长度是固定的,char的长度可选范围在0-255之间.也就是char最大能存储255个字符.如果该列是utf8编码,则该列所占用的字节数=字符数*3.如果是gbk编码则该列所占用的字节数=字符数*

int *(*a[5])(int, char*)

int* 表示是一个int型指针;(*a[5])(int, char*)中的a[5]表示是一个有5个元素的数组,而(*)(int, char*)则表示指向一个函数的指针,该函数有两个参数,第一个参数为int型,第二个是字符指针型,结合前面部分,表示这个函数的返回类型为int型,所以(*a[5])(int, char*)为5个返回类型为int型函数组成的数组:整个结合起来int* (*a[5])(int, char*)就是指向5个返回类型为int型函数组成的数组的指针变量,变量名为a.本质是指向数

Java中的char和C++中的char是不同的

在C++中 在C++中,char是基础数据类型,8位,1个字节.byte不是基础数据类型,一般是typedef unsigned char byte;这样子的,也就是说,byte其实是unsigned char类型,那么也是8位,1个字节.不同的是,char可以表示的范围是-128-127,而byte可以表示的范围是0-255. 在Java中 在java中,char和byte都是基础数据类型,其中的byte和C++中的char类型是一样的,8位,1个字节,-128-127.但是,char类型,是

【Java基础】Java中的char是否可以存储一个中文字符之理解字符字节以及编码集

Java中的一个char采用的是Unicode编码集,占用两个字节,而一个中文字符也是两个字节,因此Java中的char是可以表示一个中文字符的. 但是在C/C++中由于采用的字符编码集是ASCII,只有一个字节,因此是没办法表示一个中文字符的. 解答了上面的浅显易懂的问题之后,下面彻底理清楚字符 字节以及编码的原理. 其实关于编码以及字节的问题,在腾讯实习生一面的时候也问到过,当时搞不懂面试官为什么会问这个问题,现在想想,这个问题还是很考验一个人的思考以及钻研深度的,而且这个问题远远比自己想象