在VC++6.0中,如何将一个数转化为由数字和小数点组成的字符串?如何将两个字符串合并成一个字符串?
1个回答

下面这段代码就是将一个浮点数转化为字符串的:

01 #include

02 #include

03 #include

04

05 const double eps = 1e-12;

06

07 char s[30];

08

09 void reverse(char *s)

10 {

11 int i ,j;

12 int len = strlen(s);

13 for( i = 0 ,j = len - 1 ; i < j ; i++ ,j--)

14 s[i]^=s[j]^=s[i]^=s[j];

15 }

16

17 /* ftoa:convert double n to string s with digits*/

18 void ftoa(char *s,double n,int digits)

19 {

20 memset(s ,0 ,sizeof(s));

21 int i = 0 ,p;

22 bool sign = true;

23 if( n < 0 )

24 {

25 sign = false;

26 n = -n;

27 }

28 long long t = (long long)n;

29 n = n - t;

30 if( t == 0)

31 {

32 s[i++] = '0';

33 }

34 else

35 {

36 while( t != 0 )

37 {

38 p = t % 10;

39 t /= 10;

40 s[i++] = p + '0';

41 }

42 if(!sign) s[i++] = '-';

43 reverse(s);

44 }

45 if( fabs( n - 0.0 ) > eps )

46 {

47 s[i++] = '.';

48 int cur_d = 0;

49 while( cur_d < digits)

50 {

51 cur_d++;

52 n *= 10.0;

53 p = (long long)n;

54 n = n - p;

55 s[i++] = p + '0';

56 }

57 }

58 s[i] = ' ';

59 }

60

至于连个字符串合并,可以用strcat

原型

extern char *strcat(char *dest,char *src);

用法

#include

功能

把src所指字符串添加到dest结尾处(覆盖dest结尾处的' ')并添加' '.

说明

src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串.

返回指向dest的指针.