重载原因
- 在window下可以调用的库函数,在移植到Linux上之后,由于Linux编译版本较低,无法支持这种库函数,而框架已经搭建好,因此最简单的方法就是重载接口
stoi重载
int rstoi(std::string inputString, std::string::size_type *sz) {
int sign = 1;
int step = 0;
int sum = 0;
for (; std::isspace(inputString[step]); ++step);
sign = inputString[step] == '-' ? -1 : 1;
if (inputString[step] == '-' || inputString[step] == '+') {
step++;
}
for (; std::isdigit(inputString[step]); step++) {
sum = sum * 10 + inputString[step] - '0';
}
*sz = step;
return sum * sign;
}
to_string 重载
#define MAX_INT_LENGTH 10
std::string loadToString(int inputValue) {
char orderSquence[MAX_INT_LENGTH];
char reversedSquence[MAX_INT_LENGTH];
if (inputValue == 0) {
reversedSquence[0] = '0';
reversedSquence[1] = '\0';
return reversedSquence;
}
int j = 0;
int i = 0;
if (inputValue < 0) {
inputValue *= -1;
reversedSquence[j++] = '-';
}
while (inputValue > 0) {
orderSquence[i++] = inputValue % 10 + '0';
inputValue /= 10;
}
orderSquence[i] = '\0';
i -= 1;
while (i>=0)
{
reversedSquence[j++] = orderSquence[i--];
}
reversedSquence[j] = '\0';
return reversedSquence;
}