C/C++分别实现字符串与整数的转换

前提:不使用 itoa 和 atoi。

方法一.C和C++通用的一种转换手段是:

1、整数转化为字符串:采用加‘0’,再逆序的办法,整数加‘0’就会隐性转化成char类型的数字。

2、字符串转化为整数:采用减‘0’的办法,字符串减‘0’就会隐性转化成int类型的数。

代码如下:

/* C实现数字转字符串、字符串转数字 */
#include<stdio.h> char string[7]; /*全局变量,用于存放整数转为char*/
char* itoa_test(int num)
{
int i = 0, j = 0;
char temp[7];
while(num)
{
temp[i] = num%10 + '0'; /* 整数加0隐性转化为char类型 */
i++;
num /= 10;
} i--;
while(i>=0) /* 将字符串逆序 */
{
string[j] = temp[i];
i--;
j++;
}
string[j] = 0;
return string;
} int atoi_test(char* str)
{
int i = 0, j = 0, sum = 0;
while(*str != 0)
{
sum = sum*10 + ((*str) - '0'); /* 字符串减0会隐性转化为int类型 */
str++;
}
return sum;
} int main()
{
char str[] = "1314";
int num = 520;
int i = atoi_test(str);
char *s = itoa_test(num);
printf("atoi: %d\n",i);
printf("itoa: %s\n",s);
}

测试结果如下图:

方法二.使用C++中的字符串流实现:

stringstream对象的一个常见用法就是,需要在多种数据类型之间实现自动格式化时使用该类型。

代码如下:

#include<iostream>
#include<sstream>
#include<string>
using namespace std; string test_itoa(int num)
{
ostringstream ostr;
ostr << num;
return ostr.str();
} int test_atoi(string str)
{
istringstream istr(str);
int num;
istr >> num;
return num;
} int main()
{
string str = "520";
int num = 1314;
int i = test_atoi(str);
string s = test_itoa(num);
cout<<"atoi: "<<i<<"\nitoa: "<<s<<endl;
}

运行结果如下图:

编程练习------C/C++分别实现字符串与整数的转换的更多相关文章

  1. Leetcode8--->String to Integer(实现字符串到整数的转换)

    题目: 实现字符串到整数的转换 解题思路: 下面给出这道题应该注意的一些细节: 1. 字符串“    123   ” = 123: 2.   字符串“+123” = 123: 3.   字符串“-12 ...

  2. 不使用c的任何库函数 实现字符串到整数的转换 整数到字符串的转换

    转载请标明出处:http://www.cnblogs.com/NongSi-Net/p/6805844.html 今天主要总结下:完成编程: 1.除printf函数之外,不用任何c语言库函数,实现将字 ...

  3. python自动化--字符串和整数的转换,while的循环体

    字符串(str)和整数(int)类型变量的结合 *遵循只有同一类型的变量才可以结合. *不同类型的变量之间的转换 实例:实现打印出"192.168.100"和1的结合出" ...

  4. golang 字符串与整数, 布尔转换 strconv

    strconv 是golang对于字符串和基本数据类型之间的转换字符串转整数testStr := "1000" testInt, err := strconv.Atoi(testS ...

  5. 编程算法 - 把字符串转换为整数 代码(C)

    把字符串转换为整数 代码(C) 本文地址: http://blog.csdn.net/caroline_wendy 题目: 写一个函数StrToInt, 模拟atoi的功能, 把字符串转换为整数. 须 ...

  6. python 字符串和整数,浮点型互相转换

    在编程当中,经常要用到字符串的互相转换, 现在记录 python 里面的字符串和整数是怎么转换的. int(str) 函数将 符合整数的规范的字符串 转换成 int 型. num2 = "1 ...

  7. php实现兼容Unicode文字的字符串大写和小写转换strtolower()和strtoupper()

    前言 网上流传着这么一个腾讯笔试题: PHP的strtolower()和strtoupper()函数在安装非中文系统的server下可能会导致将汉字转换为乱码,请写两个替代的函数实现兼容Unicode ...

  8. [LeetCode] String to Integer (atoi) 字符串转为整数

    Implement atoi to convert a string to an integer. Hint: Carefully consider all possible input cases. ...

  9. 【LintCode】转换字符串到整数

    问题描述: 实现atoi这个函数,将一个字符串转换为整数.如果没有合法的整数,返回0.如果整数超出了32位整数的范围,返回INT_MAX(2147483647)如果是正整数,或者INT_MIN(-21 ...

随机推荐

  1. JOptionPane的使用

    最近在做swing程序中遇到使用消息提示框的,JOptionPane类其中封装了很多的方法. 很方便的,于是就简单的整理了一下. 1.1 showMessageDialog 显示一个带有OK 按钮的模 ...

  2. UVA 11255 Necklace

    带颜色数限制的polya计数. 其实感觉一样了... #include<iostream> #include<cstdio> #include<cstring> # ...

  3. CSS-学习笔记六

    1. 自适应,响应式布局 2. pure 3. Animate

  4. 7 -- Spring的基本用法 -- 11...

    7.11 基于XML Schema的简化配置方式 Spring允许使用基于XML Schema的配置方式来简化Spring配置文件. 7.11.1 使用p:命名空间简化配置 p:命名空间不需要特定的S ...

  5. [转]ASP.NET Core 1 Deploy to IIS

    本文转自: http://webmodelling.com/webbits/aspnet/aspnet-deploy-iis.aspx 15 Sep 2016. This tutorial will ...

  6. MapReduce 矩阵相乘

    对于矩阵A[mn]*B[nl]=C[ml].这里可以并行起来的就是每个Cij,对于Cij而言,他是由A的第i行和B的第j列相乘得到.由于大的矩阵中经常是稀疏矩阵,所以一般用行列值表示 例如对于A: 1 ...

  7. @synthesize和@dynamic

    @synthesize 除非开发人员已经做了,否则由编译器自动生成getter/setter方法.当开发人员自定义存或取方法时,自定义会屏蔽自动生成该方法. @dynamic 告诉编译器,不自动生成g ...

  8. 结合实际项目分析pom.xml

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...

  9. 隐马尔可夫模型(HMM)原理

    本文主要讨论隐马尔科夫模型的三大要素,三大假设和三大问题. 1.引入 隐马尔可夫模型是一个关于时序的概率模型,它描述了一个由隐藏的马尔可夫链生成状态序列,再由状态序列生成观测序列的过程.其中,状态之间 ...

  10. HUSTOJ 2796 && SPOJ1811

    传送门:http://begin.lydsy.com/JudgeOnline/problem.php?id=2796 题解:后缀自动机,很裸,但是感觉对后缀自动机还不是特别理解,毕竟我太蒟蒻,等我精通 ...