开发者社区> 旭东的博客> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

C语言数字与字符串转换 atoi()函数、itoa()函数、sprintf()函数

简介: 在编程中经常需要用到数字与字符串的转换,下面就总结一下。 1.atoi()   C/C++标准库函数,用于字符串到整数的转换。   函数原型:int atoi (const char * str); 1 #include 2 #include 3 int main () 4 {...
+关注继续查看

在编程中经常需要用到数字与字符串的转换,下面就总结一下。

1.atoi()

  C/C++标准库函数,用于字符串到整数的转换。

  函数原型:int atoi (const char * str);

1 #include <stdio.h>
2 #include <stdlib.h>
3 int main ()
4 {
5     char *numchars="1234";
6     int num=atoi(numchars);
7     printf("%d\n",num);
8     return 0;
9 }

  另外C/C++还提供的标准库函数有:

  (1)long int atol ( const char * str );  

  (2)double atof (const char* str);

2.itoa()

  不是C/C++标准库函数,用于整数到字符串的转换。

  函数原型:char *itoa(int value, char *string, int radix);

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 int main ()
 4 {
 5     int num=1234;
 6     int radix=8;
 7     char res[20];
 8     itoa(num,res,radix);
 9     printf("%d(10)=%s(%d)\n",num,res,radix);    //输出:1234(10)=2322(8)
10     return 0;
11 }

3.sprintf()

  C/C++标准库函数,可以用于整数到字符串的转换。

  sprintf:Write formatted data to string。

  sprintf作用是将printf的输出结果保存在字符串数组中。

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 int main ()
 4 {
 5     int num=1234;
 6     char res[20];
 7     sprintf(res,"%0o",num);
 8     printf("%s\n",res); //8进制输出:2322
 9 
10     sprintf(res,"%0x",num);
11     printf("%s\n",res); //16进制输出:4d2
12     return 0;
13 }

  

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
C语言程序阅读-变量的存储类别、函数及参数
写出程序运行结果,再运行程序进行比较。 (1) #include&lt;stdio.h&gt; int f(int n); int main() { printf("%d\n", f(5)); printf("%d\n", f(8)); return 0; } int f(int n) { sta
879 0
《C语言及程序设计》实践项目——main函数的参数
返回:贺老师课程教学链接 【项目1-用命令行运行程序】下面的程序,用于复制命令行中给出的文件。请利用命令行的方式运行程序。#include&lt;stdio.h&gt; #include&lt;string.h&gt; int main(int argc,char *argv[]) { FILE *p1,*p2; int c; p1=fopen(argv[1], "r
1064 0
C语言及程序设计提高例程-5 函数的参数
贺老师教学链接  C语言及程序设计提高 本课讲解 定义无参函数 #include &lt;stdio.h&gt; void printstars( ) { printf("*******************\n"); } void printmessage(void) { printf("Hello, world.\n"); } int main() { prin
973 0
C语言二维数组作为函数的参数
前言:今天在实现装配线调度程序时候,用到了二维数组,并将其作为函数的参数。在写程序的时候,遇到一些问题,即二维数组做函数的参数应该如何正确表示。我写程序的错误如下程序所示: #include void print(int *a[3]) { printf("%d\n",a[0][...
1007 0
《C语言及程序设计进阶》网络课程主页
  在CSDN学院开出的网络系列课程《C语言及程序设计初步》已经完成。   系列中的第二季《C语言及程序设计提高》的所有资源建设已经全部完成。   这是第三季《C语言及程序设计进阶》。视频资源链接点击打开链接      【公告】本课学员名单及QQ群公告,请到套餐主页查看。有兄弟,不孤单,一起营造学习氛围。   【重要通知1】自测题由于问卷星服务规则变化,不能看到答题情况,现转到“蓝墨云班课”中
1647 0
《C语言及程序设计》实践参考——动态数组排序
返回:贺老师课程教学链接 【项目2-动态数组排序】编一个程序,输入某班某门课的成绩,进行排序后输出。成绩可能为小数。班级人数不定,要求采用动态数组完成。在下面代码基础上完成#include<stdio.h> #include<malloc.h> int main() { int count, i,j; float *pf;
1064 0
《C语言及程序设计》实践参考——学生人数没个准
返回:贺老师课程教学链接 【项目1-学生人数没个准】输入学生成绩,输出高于平均成绩的学生序号和成绩。其中学生人数不定,可能10个,可能1000。在录入成绩之前,学生人数由键盘输入。由于要先求出平均成绩,然后才能确定输出哪些学生的信息,所以需要一个数组先将学生信息保存下来。考虑学生人数不定,用动态数组是个更适合的方案下面的程序结构供参考:#include<stdio.h> #i
992 0
《C语言及程序设计》实践项目——动态数组
返回:贺老师课程教学链接 【项目1-学生人数没个准】输入学生成绩,输出高于平均成绩的学生序号和成绩。其中学生人数不定,可能10个,可能1000。在录入成绩之前,学生人数由键盘输入。由于要先求出平均成绩,然后才能确定输出哪些学生的信息,所以需要一个数组先将学生信息保存下来。考虑学生人数不定,用动态数组是个更适合的方案下面的程序结构供参考:#include<stdio.h> #i
1106 0
《C语言及程序设计》实践参考——带行号显示文件
返回:贺老师课程教学链接 【项目2 - 带行号显示文件】(1)设计一个程序,读取命令行中给出的文件,将其内容在屏幕上显示出来,并在其行首显示行号(行号从1开始); [参考解答] #include <stdio.h> #include <stdlib.h> int main(int argc,char *argv[]) { FILE *in; cha
1016 0
+关注
旭东的博客
从事互联网开发工作,写博客,记录问题与学习支持,并分析
文章
问答
文章排行榜
最热
最新
相关课程
更多
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载