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. 关于OC和Swift使用GIT创建项目

    1.先进入码云,点击自己的头像 ->   ,2.里面有一个SSH公钥,点击   ,3.之后在终端输入 ssh-keygen -t rsa -C “xxxxx@xxx.com”,注意:”” 要用英 ...

  2. [Unity c#]c#中的反射

    什么是反射 在.NET中的反射也可以实现从对象的外部来了解对象(或程序集)内部结构的功能,哪怕你不知道这个对象(或程序集)是个什么东西,另外.NET中的反射还可以运态创建出对象并执行它其中的方法. 反 ...

  3. greenDAO简介

    了解android开发的人应该都会知道,android的数据库开发主要用到sqlite.greenDAO应该算是当前最火的数据库开源框架了吧,它是一个移动开发的ORM(object / relatio ...

  4. 为什么无线信号(RSSI)是负值(转)

    源:为什么无线信号(RSSI)是负值 为什么无线信号(RSSI)是负值 答:其实归根到底为什么接收的无线信号是负值,这样子是不是容易理解多了.因为无线信号多为mW级别,所以对它进行了极化,转化为dBm ...

  5. <转>SQL的执行顺序

    SQL 不同于与其他编程语言的最明显特征是处理代码的顺序.在大数编程语言中,代码按编码顺序被处理,但是在SQL语言中,第一个被处理的子句是FROM子句,尽管SELECT语句第一个出现,但是几乎总是最后 ...

  6. linux命令学习5-pssh命令

    pssh命令是一个python编写可以在多台服务器上执行命令的工具,同时支持拷贝文件,是同类工具中很出色的,类似pdsh,个人认为相对pdsh更为简便,使用必须在各个服务器上配置好密钥认证访问. 1. ...

  7. 火狐上的一个post提交工具(主要用于测试接口时候)

    添加的过程 安装完后,就可以在下图上,看到一个poster 点击poster就可以看到下图 图中红线圈好的,是必须要填写的 Url是访问路径 Name是参数名称 Value是参数值 需要注意一点的是: ...

  8. MySQL连接数据库报时区错误:java.sql.SQLException: The server time zone value

    连接MySQL数据库时报以下时区错误信息: java.sql.SQLException: The server time zone value '�й���׼ʱ��' is unrecognized ...

  9. centos5.5开机自动启动服务的方法

    *** chkconfig --list 查看所有的***chkconfig --list smb 查看指定的输出的结果:httpd           0:off   1:off   2:off   ...

  10. 2015年15+最佳的响应式HTML5网站模板

    015年最好的免费响应式HTML5模板通常用于创建新潮的网站. HTML5是HTML用于创建现代化网站的最新版本.随着这一现代标记语言的出现,网上冲浪的趋势变得越来越智能化越来越酷.几乎每个web开发 ...