function tdinttostr(avalue:longint):string;stdcall;
var
chstack:array[0..10] of char ; //定义字符数组栈
chsp:integer;
i:integer;
begin
chsp:=0;
if avalue=0 then begin
chstack[chsp]:='0';
inc(chsp);
end else begin
while avalue<>0 do begin
chstack[chsp]:=char(avalue mod 10+$30);
inc(chsp);
avalue:=avalue div 10;
end;
end;
setlength(result,chsp);
for i:=0 to chsp-1 do begin
result[i+1]:=chstack[i];
end;
end;
//Delphi不大熟悉,不过VC、VB倒是会点。
CString ReverseLong(long x)
{
CString str;
while (x !=0)
{
str += (char)(x%10+0x30);
x /=10;
}
return str;
}
'VB下面的反转
Private Function ReverseLong(ByVal x As Long) As String
Dim s As String
While x <> 0
s = s & x Mod 10
x = x / 10
Wend
ReverseLong = s
End Function
[QUOTE=sojoo;585919]char buf[10];
char* p = buf;
int a = 1234;
while ( a != 0 ) { *p++ = '0'+a % 10; a /= 10; }
*p = 0;
printf("%s\n", buf);[/QUOTE]
谢谢 ,这个好像和你的代码接近了吧
function tdinttostr(avalue:longint):string;stdcall;
var
i:integer;
begin
i:=1;
setlength(result,10);
while avalue<>0 do begin
result[i]:=char(avalue mod 10+48);
inc(i);
avalue:=avalue div 10;
end;
result[i]:=#0;
end;