C语言将字符串转换成对应的数字(十进制、十六进制)【转】

转自:http://wawlian.iteye.com/blog/1315133

 问题1:讲一个十进制数字的字符串表示转换成对应的整数。举例:将“1234”转换成整数1234.
C代码  收藏代码
/*将字符串s转换成相应的整数*/
int atoi(char s[])
{
    int i;
    int n = 0;
    for (i = 0; s[i] >= '0' && s[i] <= '9'; ++i)
    {
        n = 10 * n + (s[i] - '0');
    }
    return n;
}  

        问题2:将一个十六进制数的字符串表示形式转换成对应的整数。所谓的十六进制数的字符串形式是指字符串只包含'0'-'9'或者'a'-'z'或者'A'-'Z',前导“0x”或者“0X”是否出现都可以。
        要解决这个问题,还需要一个将大写字母转换成小写字母的工具函数:
C代码  收藏代码
/*将大写字母转换成小写字母*/
int tolower(int c)
{
    if (c >= 'A' && c <= 'Z')
    {
        return c + 'a' - 'A';
    }
    else
    {
        return c;
    }
}  

        下面是转换函数:
C代码  收藏代码
//将十六进制的字符串转换成整数
int htoi(char s[])
{
    int i;
    int n = 0;
    if (s[0] == '0' && (s[1]=='x' || s[1]=='X'))
    {
        i = 2;
    }
    else
    {
        i = 0;
    }
    for (; (s[i] >= '0' && s[i] <= '9') || (s[i] >= 'a' && s[i] <= 'z') || (s[i] >='A' && s[i] <= 'Z');++i)
    {
        if (tolower(s[i]) > '9')
        {
            n = 16 * n + (10 + tolower(s[i]) - 'a');
        }
        else
        {
            n = 16 * n + (tolower(s[i]) - '0');
        }
    }
    return n;
}  

 

时间: 2024-09-20 09:11:10

C语言将字符串转换成对应的数字(十进制、十六进制)【转】的相关文章

ios-IOS 如何把16进制字符串转换成byte 求各位大神 最好能有代码

问题描述 IOS 如何把16进制字符串转换成byte 求各位大神 最好能有代码 IOS 如何把16进制字符串转换成byte?求各位大神 最好能有代码 解决方案 字符串由字符组成,每个字符都占用一定的字节,我记得是4还是多少,这是c语言底层的算法,应该还有其他算法

[程序员面试题精选100 题]17.把字符串转换成整数

题目 输入一个表示整数的字符串,把该字符串转换成整数并输出.例如输入字符串"345",则输出整数345. 分析 这道题尽管不是很难,学过 C/C++语言一般都能实现基本功能,但不同程序员就这道题写出的代码有很大区别,可以说这道题能够很好地反应出程序员的思维和编程习惯,因此已经被包括微软在内的多家公司用作面试题.建议读者在往下看之前自己先编写代码,再比较自己写的代码和下面的参考代码有哪些不同. 我们需要考虑一下几个方面的问题: (1)正负问题: 由于整数可能不仅仅之含有数字,还有可能以'

asp.net.想要实现一个文字字符串转换成MP3和wav格式的语音

问题描述 asp.net.想要实现一个文字字符串转换成MP3和wav格式的语音 2C 文字字符串转换成MP3和wav格式的语音文件并且存入数据库,请问如何实现.需要转换成音频文件后可以读出文字内容 解决方案 你需要一个与字符对应的音频库,就像电子琴.比如1对应声音多,2对应声音来,3对应声音咪--,还有长音,短音,4分,8分等等,当你输入一个字符串时,找到跟他对应的声音,就能实现准确的转换了.

字符串转换成时间格式如何去掉自带的星期以及上下午

问题描述 字符串转换成时间格式如何去掉自带的星期以及上下午 最近遇到一个恼火的问题,通过控件获得的时间会自动加上星期 以及 上(下)午因为数据库该时间 字段的长度是固定的 一旦加上星期和上下午就会超出范围,目前 试过N 种方法都无法成功例如 将时间 截取成 "2014-08-11"的字符串,一旦Conver.toDateTime后立马变成了"2014-08-11 星期六 下午 12:00...""的形式目前试过改时间右下角,以及各种转换时间格式的形式,都失

把普通字符串转换成二进制字符串的函数写出来了,和大家分享一下。

二进制|函数|转换|字符串 '普通字符串转换成二进制字符串函数Function Str2Bin(String)  Dim i, tmpbin  For i=1 to strLength(String)    tmpbin = tmpbin & ChrB(Asc(Mid(String,I,1)))  Next  Str2Bin = tmpbinEnd Function '以下函数来自ChinaASP,计算字符串的真正字节数(支持中文)Function strLength(str)   If (le

怎样利用正则表达式把用URLEncode的字符串转换成正常的字符串函数

encode|函数|正则|转换|字符串 <script language=JavaScript RUNAT=SERVER>// 利用正则表达式把用URLEncode的字符串转换成正常的字符串函数function URLDecode(EncodeString) {  var lsRegExp = /\+/g;  return unescape(String(EncodeString).replace(lsRegExp, " ")); }</script> 使用例子

php将字符串转换成16进制的方法

 这篇文章主要介绍了php将字符串转换成16进制的方法,涉及php中bin2hex函数的使用技巧,非常具有实用价值,需要的朋友可以参考下     本文实例讲述了php将字符串转换成16进制的方法.分享给大家供大家参考.具体分析如下: php中可以通过bin2hex函数将字符串转换成16进制的形式输出,bin2hex()函数返回结果为ascii码 ? 1 2 3 4 5 <?php $string = "Hellotworld!n"; print($string."n&q

js字符串转换成数字与数字转换成字符串的实现方法

 本篇文章主要是对js字符串转换成数字与数字转换成字符串的实现方法进行了详细的介绍,需要的朋友可以过来参考下,希望对大家有所帮助 js字符串转换成数字   将字符串转换成数字,得用到parseInt函数. parseInt(string) : 函数从string的开始解析,返回一个整数.     举例: parseInt('123') : 返回 123(int): parseInt('1234xxx') : 返回 1234(int):   如果解析不到数字,则将返回一个NaN的值,可以用isNa

JavaScript将字符串转换成字符编码列表的方法

 这篇文章主要介绍了JavaScript将字符串转换成字符编码列表的方法,实例分析了javascript中charCodeAt函数的使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下     本文实例讲述了JavaScript将字符串转换成字符编码列表的方法.分享给大家供大家参考.具体如下: JavaScript将字符串转换成字符编码列表,例如foo转换成 [112,111,111] 方法 1: JavaScript 1.6 ? 1 2 Array.map('foo', function(x)