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语言中关于字符串转整型?的主要内容,如果未能解决你的问题,请参考以下文章

字符串转整型数字

C语言学习笔记 —— 转换函数

C语言学习笔记 —— 转换函数

php字符型转整型

字符串转浮点数 字符串转整型数

delphi 字符串转入整型数组