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. jquery如何判断元素是否被点击_百度知道

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 <div id="parent"> <a id="a1" ...

  2. Quick Cocos2dx 版本更新

    呵呵,不出所料,我又把项目的quick x版本从2.2.1升级到2.2.3了,不知道下次升级到3.x回事神马时候呢,好期待的说. 话说运行2.2.3的player的时候,老是提醒我显卡不支持openg ...

  3. PHPCMS v9 实现首页,列表页,内容页调用点击量方法

    大家好,今天有点闲,看很多朋友经常问PHPCMS v9 首页,列表页,内容页调用点击怎么弄,打算抽时间把代码全部归纳出来,以便大家日后使用,如下: 1,首页调用点击量 {pc:content acti ...

  4. 解决phpcms V9缩略图模糊的方法

    解决V9缩略图模糊/libs/classes/image.class.php注释掉else   imagecopyresized($thumbimg, $srcimg, 0, 0, $psrc_x,  ...

  5. javascript模拟鼠标双击事件

    通常我们在做开发的时候需要通过单击切换对立事件,简单做了一个模型. <!DOCTYPE html> <html> <head> <title>javas ...

  6. Extjs4中的布局

    布局用于定义容器如何组织内部子元素和控制子元素的大小.在一个应用程序中,作为定义容器的组织形式,布局是一个十分重要的组件.是显示单个子元素?还是垂直或水平显示多个子元素?这些均由布局来定义.并且布局将 ...

  7. LPC1788的ADC和DAC使用

    #ifndef __ADC1_H_ #define __ADC1_H_ #include "common.h" #include "delay.h" void ...

  8. s3c2440的GPIO驱动

    多个通用的GPIO,同时这些端口也拥有一些复用功能(如ADC输入),有部分端口只能输入,有部分端口只能输出,今天我们来看看如何设置一个GPIO的输出电平以及如何获取一个端口的GPIO电平 对GPIO进 ...

  9. Java Dwr3实现消息推送步骤详解

    DWR包含两个主要的部分:允许JavaScript从WEB服务器上一个遵循了AJAX原则的Servlet中获取数据.另外一方面一个JavaScript库可以帮助网站开发人员轻松地利用获取的数据来动态改 ...

  10. 普通项目如何转换成Maven项目 --转载自百度知道

    右键普通Java项目,在弹出的菜单中选择[Configure]-[Convert to Maven Project]: 2 在弹出的对话框中输入项目的groupId, artifactId和versi ...