C语言中关于字符串转整型?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言中关于字符串转整型?相关的知识,希望对你有一定的参考价值。
char buf[] = "c1";怎么转成int型?
字符串转成整型可以使用atoi函数。
函数原型:int atoi(const char *nptr);
功能:把字符串转换成整型数。
参数nptr字符串,如果第一个非空格字符存在,是数字或者正负号则开始做类型转换,之后检测到非数字(包括结束符 \\0) 字符时停止转换,返回整型数。否则,返回零。
参考代码:
#include <stdlib.h>#include <stdio.h>
int main()
int n;
char *str = "12345";
n = atoi(str);
printf("%d\\n",n);
return 0;
/*
运行结果:
12345
*/ 参考技术A 字符型和整型在内存中都是以二进制形式存放的,所以二者可以通用,进行混合运算,比如'A'+1;当以%d的格式输出时为66;以%c的格式输出时为字符'B';
所以,字符型和整型是没有必要转化(主要要掌握字符型ASCII代码的范围即可,即0到256)对于运算过程没有什么区别,如果要进行字符型转整型,那也指的是输出格式的不同;但字符串转整型,这句话我就有点不明白了,即使要转,也是一个字符一个字符的进行转化。
比如:ch[]="A"; 字符ch[0]='A';ch[1]='\0';
ch[]="ABC"; 字符ch[0]='A';ch[1]='B';ch[2]='C';ch[4]='\0';
主要看你是以什么格式输出。
如果对你有所帮助,请记得采纳最佳答案,谢谢! 参考技术B 不可以 除非存数字的字符串 参考技术C 用函数可以转换,但是里面必须是一个数字,itoa函数,自己查一下。 参考技术D char *buf=(char *)malloc(2*sizeof(char));
*buf[0]='c1';
*buf[1]='\0';
//至此,buf[]和你声明的字符串一样的内容了
//增语句如下
free(buf);
buf=(int *)malloc(2*sizeof(int));
//至此,buf[]是整型数组,但为空
//想直接得到ASCII码的话,就写:
int a=buf[0];
//同样,如下也对
printf("%d",buf[0]);本回答被提问者和网友采纳
以上是关于C语言中关于字符串转整型?的主要内容,如果未能解决你的问题,请参考以下文章