我是这个C ++环境的新手,可能需要一个简单的帮助。
假设你有一个数组
const char digits[] = "01234567..XYZ"
如何通过读取整数(例如123)来使用ASCII转换转换整数,并将其分别显示在控制台上,如1,2和3。
提前致谢。
答案 0 :(得分:2)
你可以创建一个循环然后简单地这样做:
c = (char)(i%10); //To extract the last digit of an integer
i = i/10; //To remove the last decimal digit from an integer
char c = '0' + i; //To convert a binary digit stored in a char to an ASCII digit
答案 1 :(得分:2)
此?
#include <cstdio>
//void decout(unsigned int number, FILE * stream)
//{
// fprintf(stream, "%u", number);
//}
void decout(unsigned int number, FILE * stream)
{
unsigned int tmp = number;
unsigned int div = 1;
while ((tmp/=10) > 0) { div *= 10; }
while (div > 0) { fputc(((number/div)%10) + '0', stream); div /= 10; }
}
void decout_alt(unsigned int number, FILE * stream)
{
bool printZero = 0;
for (unsigned int max = 1000000000, p = (number / max) % 10; max > 0; max /= 10, p = max>0?(number / max) % 10:0) //32-bit only
{
if (p != 0 || printZero) {
fputc(p + '0', stream); printZero = true;
}
}
}
int main(int argc, char *const* argv)
{
decout(123, stdout);
decout_alt(123, stdout);
}