网站开发方向,79招商创业网,手机网站你懂,世界互联网峰会马云isdigit、isalnum、isalpha、islower、issupper都是C/C 语言中判断字符的一些函数#xff0c;灵活利用在刷题中可以节省我们的一部分时间。下面c统一为char类型字符
1.isdigit
若参数c为十进制数字0~9#xff0c;则返回非0值#xff0c;否则返回0。
其中isxdigital判断是…isdigit、isalnum、isalpha、islower、issupper都是C/C 语言中判断字符的一些函数灵活利用在刷题中可以节省我们的一部分时间。下面c统一为char类型字符
1.isdigit
若参数c为十进制数字0~9则返回非0值否则返回0。
其中isxdigital判断是否是十六进制数
2.isalnum
用来判断一个字符是否为数字或者字母如果是则返回非零否则返回零。
3. isalpha 用来判断一个字符是否为字母如果是则返回非零否则返回零。
4. islower
用来判断一个字符是否为小写字母如果是则返回非零否则返回零。
tolower转换成小写
5. islsupper
用来判断一个字符是否为大写字母如果是则返回非零否则返回零。
toupper转换成大写
二、stoi stoll用法
一、stoi将字符串转换为int类型整数 头文件string
int stoi (const string str, size_t* idx 0, int base 10);解析str将其内容解释为指定基数的整数并以int值的形式返回。
如果idx不是空指针则该函数还将idx的值设置为数字后str中第一个字符的位置。
base进制10十进制8八进制16十六进制0则自动检测数值进制str 是 0 开头为八进制str 是 0x 或 0X 开头是十六进制默认为十进制
stoi() 函数指定转换字符串为十进制用法
#include iostream
#include string
using namespace std;int main(int argc, char *argv[])
{int a;size_t pos 0;string str;str -1235;a stoi(str);cout a a endl; //a -1235str 1235;a stoi(str);cout a a endl; //a 1235str -12 35; // 前两个空格a stoi(str, pos); // 会舍弃空白符cout a a endl; //a -12cout pos pos endl; //pos 5str -12ab35;// 前两个空格a stoi(str, pos);// 会舍弃空白符cout a a endl; //a -12cout pos pos endl; //pos 5str 0123;a stoi(str);cout a a endl; //a 123str 0x123;a stoi(str);cout a a endl; //a 0return 0;
} stoi() 函数将指定转换字符串以16进制转10进制用法
#include iostream
#include string
using namespace std;int main(int argc, char *argv[])
{int a;size_t pos 0;string str;str 0x123;a stoi(str, NULL, 16); //base 16指定十六进制cout a a endl; //a 291str 0x123;a stoi(str, NULL, 0); //base 0自动检测数值进制cout a a endl; //a 291str -12;a stoi(str, pos, 16); //-(2 1*16)cout a a endl; //a -18cout pos pos endl; //pos 3str 12;a stoi(str, pos, 16); //2 1*16cout a a endl; //a 18cout pos pos endl; //pos 2str -12 35; a stoi(str, pos, 16); //会舍弃空白符cout a a endl; //a -18cout pos pos endl; //pos 5str -ab;a stoi(str, pos, 16); //-(11 10*16)cout a a endl; //a -171cout pos pos endl; //pos 5str 0123;a stoi(str, NULL, 16); //(3 2*16 1*16*16)cout a a endl; //a 291return 0;
}
异常 如果无法执行转换则抛出invalid_argument异常。 如果读取的值超出int的可表示值范围则抛出out_of_range异常。 无效的idx会导致未定义的行为。
2.stoll() 函数
long long stoll(const std::string str, std::size_t* pos 0, int base 10);
功能将字符串str转成 long long 整数 参数 str字符串 pos存储将字符串 str 转成 long long 整数处理了 str 中字符的个数的地址默认为 NULL base进制10十进制8八进制16十六进制0则自动检测数值进制str 是 0 开头为八进制str 是 0x 或 0X 开头是十六进制默认为十进制
stoll() 函数指定转换字符串为十进制用法
#include iostream
#include string
using namespace std;int main(int argc, char *argv[])
{long long a;size_t pos 0;string str;str -1235;a stoll(str);cout a a endl; //a -1235str 1235;a stoll(str);cout a a endl; //a 1235str -12 35; a stoll(str, pos); //会舍弃空白符cout a a endl; //a -12cout pos pos endl; //pos 5str -12ab35;a stoll(str, pos);cout a a endl; //a -12cout pos pos endl; //pos 5str 0123;a stoll(str);cout a a endl; //a 123str 0x123;a stoll(str);cout a a endl; //a 0return 0;
}
对于stoi可能超出范围的字符串不能用stoi(str) INT_MAX去限制而应该用范围更大的stoll先判断