博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
整型数据和字符串数据相互转化代码
阅读量:4152 次
发布时间:2019-05-25

本文共 1415 字,大约阅读时间需要 4 分钟。

//将整型转化为字符串
void itoa(int n, char *ch, int *len) {
    if(n < 10 && n >= 0) {
        ch[(*len)++] = (char)(n + '0');
    } else {
        itoa(n / 10, ch, len);
        ch[(*len)++] = '0' + n%10;
    }
}
其中的参数解释为:n为要转化的整型数据,ch为转化后的字符串首地址,len为一个等于零的int型数据。
//将字符串转化为整型数据返回
int char_to_int(char *name) {
    int i = 0, a = 0, len, value, j;
    len = strlen(name);
    while(name[i] != 0) {
        value = name[i] - '0';
        for(j = 1; j < len - i; j++) {
            value *= 10;
        }
        a += value;
        i++;
    }
    return a;
}
其中的参数解释为:name为要转化的字符串的首地址,该函数返回转化好的int型数据。
当然char_to_int()函数在系统里面有定义,可以直接使用,只要加上头文件就可以了。
也可以借助sscaf()和sprintf()进行转化:
以前还没有见过sscanf()函数,现在明白了,我小结一下:
若想用read()
读取文件中的整型数据时可以借助sscanf()进行操作,
假如我有一个sun文件,里面是87192,
可以执行下面的程序进行测试:
#include
#include
#include
#include
int main(void)
{
       int a, fd;
       char ch[20], ch1[20];
       fd = open("sun", O_RDONLY);
       read(fd, ch, 20);
       sscanf(ch, "%d", &a);
       sprintf(ch1, "%d", a);
       printf("(int a) = %d,(char ch1[]) = %s\n", a, ch1);
       close(fd);
       return 0;
}
结果是:
(int a) = 87192,(char ch1[]) = 87192;
说明:上面用到了sscanf()和sprintf()函数。
<script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"share":{}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];</script>
阅读(3960) | 评论(0) | 转发(0) |
0

上一篇:

下一篇:

相关热门文章
给主人留下些什么吧!~~
评论热议

转载地址:http://ycmti.baihongyu.com/

你可能感兴趣的文章
IntelliJ IDAE 2018.2 汉化
查看>>
基于S5PV210的uboot移植中遇到的若干问题记录(一)DM9000网卡移植
查看>>
Openwrt源码下载与编译
查看>>
我和ip_conntrack不得不说的一些事
查看>>
Linux 查看端口使用情况
查看>>
文件隐藏
查看>>
两个linux内核rootkit--之二:adore-ng
查看>>
两个linux内核rootkit--之一:enyelkm
查看>>
关于linux栈的一个深层次的问题
查看>>
rootkit related
查看>>
配置文件的重要性------轻化操作
查看>>
又是缓存惹的祸!!!
查看>>
为什么要实现程序指令和程序数据的分离?
查看>>
我对C++ string和length方法的一个长期误解------从protobuf序列化说起(没处理好会引起数据丢失、反序列化失败哦!)
查看>>
一起来看看protobuf中容易引起bug的一个细节
查看>>
无protobuf协议情况下的反序列化------貌似无解, 其实有解!
查看>>
make -n(仅列出命令, 但不会执行)用于调试makefile
查看>>
makefile中“-“符号的使用
查看>>
go语言如何从终端逐行读取数据?------用bufio包
查看>>
go的值类型和引用类型------重要的概念
查看>>