c++如何去除前导0
时间: 2024-09-11 16:18:03 浏览: 251
蓝桥杯国赛题之C++高精度加法.zip
在C++中,如果需要去除字符串(std::string)的前导零,可以直接使用`substr()`函数配合条件判断。如果你有一个表示数值的字符串,并且希望去掉所有非数字字符包括前导零,可以这样做:
```cpp
#include <string>
std::string removeLeadingZeros(const std::string &str) {
if (str.empty()) return str; // 如果字符串为空,则直接返回
size_t nonZeroIndex = 0;
for (size_t i = 0; i < str.length(); ++i) {
if (isdigit(str[i])) { // 检查是否为数字字符
str[nonZeroIndex++] = str[i]; // 移动有效位置并保留字符
}
}
// 如果所有字符都是前导零,截断到第一个非零字符
if (nonZeroIndex == str.length()) {
return "";
} else {
str.resize(nonZeroIndex); // 保持字符串长度,删除多余的空位
return str; // 返回处理后的字符串
}
}
```
阅读全文