整型数据与字符串类型相互转化的一种实现方法

浅浅的花香味﹌ 2022-08-06 06:28 199阅读 0赞
  1. void itoa(char * buffer, int num, int length)
  2. {
  3. int i = 0;
  4. int temp = num;
  5. if (temp == 0)
  6. {
  7. for (i = 0; i < length; i++)
  8. {
  9. buffer[i] = '0';
  10. }
  11. buffer[i] = 0;
  12. }
  13. else
  14. {
  15. if (temp < 0)
  16. {
  17. buffer[0] = '-';
  18. temp = -temp;
  19. ++i;
  20. }
  21. else
  22. buffer[0] = '0';
  23. while(temp != 0)
  24. {
  25. temp /= 10;
  26. ++i;
  27. }
  28. if (length > i)
  29. i = length;
  30. buffer[i] = 0;
  31. --i;
  32. temp = num;
  33. if (temp < 0)
  34. temp = -temp;
  35. while(temp != 0)
  36. {
  37. buffer[i] = temp % 10 + '0';
  38. temp /= 10;
  39. --i;
  40. }
  41. while( i >= 0 && buffer[i] != '-')
  42. {
  43. buffer[i] = '0';
  44. --i;
  45. }
  46. }
  47. }
  48. #ifndef __stdlib_h
  49. int atoi(char * buffer)
  50. {
  51. int i;
  52. int negative = 0;
  53. int result = 0;
  54. for (i = 0; buffer[i] == '0'; i++);
  55. if (buffer[i] == 0)
  56. return 0;
  57. else
  58. {
  59. if (buffer[i] == '-')
  60. {
  61. negative = 1;
  62. ++i;
  63. }
  64. for (; buffer[i]; i++)
  65. {
  66. result *= 10;
  67. result += buffer[i] - '0';
  68. }
  69. }
  70. if (negative)
  71. result = -result;
  72. return result;
  73. }

发表评论

表情:
评论列表 (有 0 条评论,199人围观)

还没有评论,来说两句吧...

相关阅读