如何在 C 语言中把字符串转换为整数
本文介绍了 C 语言中把字符串转换成整数的不同方法。在 C 语言中,有几种将字符串转换为整数的方法,如 atoi()
,strtoumax()
和 strol()
。
atoi()
函数在 C 语言中把一个字符串转换为整数
atoi()
函数在 C 语言编程中把字符串转换成整数。atoi()
函数忽略了字符串开头的所有空格,对空格后的字符进行转换,然后在到达第一个非数字字符时停止。
atoi()
函数返回字符串的整数表示。
我们需要包含 <stdlib.h>
头文件来使用 atoi()
函数。
atoi()
语法
int atoi(const char *str);
*str
是指向要转换为整数的字符串的指针。
atoi()
示例代码
#include <stdio.h>#include <stdlib.h>#include <string.h>int main (void)
{
int value;
char str[20];
strcpy(str,"123");
value = atoi(str);
printf("String value = %s, Int value = %d\n", str, value);
return(0);
}
输出:
String value=123, Int value=123
strtol()
函数在 C 语言中把一个字符串转换为整数
strtol()
函数在 C 语言中把一个字符串转换成一个长整数。strtol()
函数省略了字符串开头的所有空格字符,在它把后面的字符转换为数字的一部分之后,当它找到第一个不是数字的字符时就停止。
strtol()
函数返回字符串的长整数值表示。
我们需要包含 <stdlib.h>
头文件来使用 atoi()
函数。
strtol()
语法
long int strtol(const char *string, char **laststr,int basenumber);
-
*string
是指向要转换为长整数的字符串的指针。 -
**laststr
是一个指示转换停止位置的指针。 -
basenumber
是基数,范围为[2, 36]
。
#include <stdio.h>#include <stdlib.h>#include <string.h>int main(void)
{
char str[10];
char *ptr;
long value;
strcpy(str, " 123");
value = strtol(str, &ptr, 10);
printf("decimal %ld\n", value);
return 0;
}
输出:
decimal 123
strtoumax()
函数在 C 语言中将字符串转换为整数
strtoumax()
函数将一个字符串的内容解释为指定基数的整数形式。它省略任何空格字符,直到第一个非空格字符。然后,它尽可能多的字符形成一个有效的基数整数表示,并将它们转换为一个整数值。
strtoumax()
返回一个字符串的相应整数值。如果转换没有成功,该函数返回 0。
strtoumax()
语法
uintmax_t strtoumax(const char* string, char** last, int basenumber);
-
*string
是指向要转换为长整数的字符串的指针。 -
**last
是一个指示转换停止位置的指针。 -
basenumber
是基数,范围是[2, 36]
。
strtoumax()
示例
#include <stdio.h>#include <stdlib.h>#include <string.h>int main(void)
{
char str[10];
char *ptr;
int value;
strcpy(str, " 123");
printf("The integer value:%d",strtoumax(str, &ptr,10));
return 0;
}
输出:
The long integer value: 123
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。