在C中准确来说是字符数组转整数类型
首先判断字符串是否具有整数的形式, 如果是就直接进行转换,不是则自己另外赋一个值。
#include <stdio.h>
#include <string.h>
int isInteger(char *str){
int len=strlen(str);
int res=strspn(str,"0123456789");
if(res>=len){
return 1;
}else{
return 0;
}
}
int strToInt(char *a){
if(isInteger(a)){
return atoi(a);
}else{
return -1;
}
}
int main(){
char a[20];
printf("请输入字符串:");
scanf("%s",a);
int choice=strToInt(a);
printf("您输入的字符串转为整数为:%d",choice);
return 0;
}
总结
程序中用到的函数: strlen( char *str ) :函数返回字符串str 的长度 strspn( const char *str1, const char *str2 ) :函数返回字符串str1中第一个不包含于字符串str2的字符的索引 atoi( const char *str ) :将字符串str转换成一个整数并返回结果。参数str 以数字开头,当函数从str 中读到非数字字符则结束转换并将结果返回。
|