ex6_17.cpp
来自「C++的一些原代码」· C++ 代码 · 共 42 行
CPP
42 行
/* Code for exercise 6.17.
|
| "C++ Solutions--Companion to The C++ Programming Language, Third Edition"
| by David Vandevoorde; Addison-Wesley 1998; ISBN 0-201-30965-3.
|
| Permission to use, copy, modify, distribute and sell this software
| and its documentation for any purpose is hereby granted without fee.
| The author makes no representations about the suitability of this
| software for any purpose. It is provided "as is" without express or
| implied warranty.
`----------------------------------------------------------------------*/
#include <stdio.h>
namespace { char const digit[] = "0123456789"; }
char* itoa(int i, char b[]) {
char *p = b;
if (i<0) { // Add in the sign if needed
*p++ = '-';
i = -i;
}
int shifter = i;
do { // Move to where the representation ends
++p;
shifter = shifter/10;
} while (shifter);
*p = '\0';
do { // Move back, inserting digits as you go
*--p = digit[i%10];
i = i/10;
} while (i);
return b;
}
int main() {
char buf[80];
printf("itoa(45*12345679) = \"%s\"\n", itoa(45*12345679, buf));
return 0;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?