在C++中如何将INT转换成CHAR*类型?

比如100转换成"100"等等
2024-12-01 04:29:25
推荐回答(5个)
回答1:

 itoa( int value, char *string, int radix );
 第一个参数:你要转化的int;
 第二个参数:转化后的char*;
 第三个参数:你要转化的进制;
sample;
 int n = 12;
 char c[20];
 itoa( n, c, 2 );
 itoa( n, c, 10);
 itoa( n, c, 16);
 c的值分别为, 11000, 12, c;

回答2:

 
 
 
// 在 C++ 里把其它类型转换成字符串时最好是用纯 C++ 的机制: stringstream 类。
// (http://www.parashift.com/c++-faq-lite/misc-technical-issues.html#faq-39.1)

#include
#include
using namespace std;

void main( ) {
    int i = 100;
    stringstream ss;
    ss << i;
    const char *cString = ss.str( ).c_str( );
}

// stringstream 的 str 方法返回 string;string 的 c_str 方法则返回 C 字符串。
// 应当一提的是,在 C++ 里,应该尽量避免用 C 字符串而改用 C++ 字符串(string)。
 
 
 

回答3:

有个itoa函数
但是不好用,很多编译器不支持
下面这个是我自己写的,不是很好,基本能用

char s[100];
char *pc;
void atoi(int a){
int i=0,j;
while(a){
s[i++]=a%10;
a/=10;
}
while(--i)
pc++=s[i];
}

回答4:

用sprintf()函数。
例如:
char acBuf[20] = { 0 };
int i = 100;
sprintf(acBuf, "%d", i);

回答5:

如果是cout可以使用强制转换