c_cpp 将字符串转换为整数。对于无效字符串,返回0。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 将字符串转换为整数。对于无效字符串,返回0。相关的知识,希望对你有一定的参考价值。
int atoi(const string &s) {
// +, -, spaces
if(s.empty()) return 0;
int i = 0, N = s.size();
while(i < N && s[i] == ' ') i++;
// if(i == N) return 0; // unnecessary because of POS1 and POS2
/* // unnecessary to remove trailing spaces
int j = N-1;
while(j >= i && s[j] == ' ') j--; */
int sign = 1;
if(s[i] == '+' || s[i] = '-') {
if(s[i] == '-') sign = -1;
i++;
}
long long sum = 0; // POS1
while(i < N) { // POS2
if(s[i] >= '0' && s[i] <= '9') {
sum = 10 * sum + s[i] - '0';
if(sign * sum >= INT_MAX) return INT_MAX;
if(sign * sum <= INT_MIN) return INT_MIN;
i++;
}
else break;
}
return sign * sum;
}
以上是关于c_cpp 将字符串转换为整数。对于无效字符串,返回0。的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 stoi() 将字符串转换为整数?
c_cpp 将excel列字符串转换为数字,例如,将“AA”转换为27。
c_cpp 将int转换为字符串
c_cpp 将int转换为字符串
c_cpp 将字符串转换为矢量(单个数字)
c_cpp 将“bbccaaddddddde”转换为“ddddddaabbcce”,按频率和字母顺序转换字符串。使用仿函数