我有一个简单的问题
如何简单地将整数(获取值0-8)转换为char,例如C中的char [2]
由于
答案 0 :(得分:13)
main()
{
int i = 247593;
char str[10];
sprintf(str, "%d", i);
// Now str contains the integer as characters
}
希望它对你有所帮助。
答案 1 :(得分:2)
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void main()
{
int a = 543210 ;
char arr[10] ="" ;
itoa(a,arr,10) ; // itoa() is a function of stdlib.h file that convert integer
// int to array itoa( integer, targated array, base u want to
//convert like decimal have 10
for( int i= 0 ; i < strlen(arr); i++) // strlen() function in string file thar return string length
printf("%c",arr[i]);
}
答案 2 :(得分:1)
使用它。请注意i大于9,因为这些将需要一个包含2个以上元素的char数组,以避免缓冲区溢出。
char c[2];
int i=1;
sprintf(c, "%d", i);
答案 3 :(得分:0)
你无法在“标准”C中真正做到这一点,因为int和char的大小并不固定。假设您在英特尔PC上使用Windows或Linux下的编译器......
int i = 5; char a = ((char*)&i)[0]; char b = ((char*)&i)[1];
记住机器的字节顺序!那个int是“通常”32位,所以4个字符!
但你可能的意思是“我想把字符串化”,所以忽略这个回答: - )
答案 4 :(得分:0)
如果要将0-9范围内的int转换为char,通常可以这样写:
int x;
char c = '0' + x;
现在,如果你想要一个字符串,只需添加一个终止'\ 0'字符:
char s[] = {'0' + x, '\0'};
请注意: