+160
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
//перевод целого числа в строку
//num-число
//nn-длина поля
char* num10toc(int num, int nn=4)
{
int i;
int sgmin=0;
int xnum=num;
char* p=lnum;
if (xnum<0)
{
sgmin=1;
xnum=-xnum;
}
memset(lnum,0,WMAX+1);
memset(lnum,0x20,WMAX);
i=lenint(xnum);
int j=i;
int mm=nn-i-sgmin;
if (mm>0)
{
p+=mm;
}
if (sgmin!=0)
{
*p='-';
p++;
}
if (xnum==0)
{
*p='0';
return &lnum[0];
}
while (xnum>0)
{
*(p+i-1)=(char)(xnum%10+0x30);
xnum/=10;
i--;
}
*(p+j)=0;
return &lnum[0];
}
Загадка: что выведется в следующих случаях?
printf("%s\n", num10toc(0, 5));
printf("%s\n", num10toc(1, 5));
printf("%s\n", num10toc(12, 5));
printf("%s\n", num10toc(123, 5));
printf("%s\n", num10toc(1234, 5));
printf("%s\n", num10toc(12345, 5));
printf("%s\n", num10toc(123456, 5));
Запостил: glprizes,
01 Февраля 2011
guest 02.02.2011 00:43 # +1
glprizes 02.02.2011 01:03 # 0
То есть эта функция в принципе не нужна.
absolut 02.02.2011 03:16 # 0
glprizes 02.02.2011 10:04 # 0