C++中Trim函数
时间: 2024-09-09 21:05:42 浏览: 81
在C++中,并没有一个标准库提供的“Trim”函数,这是因为它是一个用于去除字符串两端空白字符的功能,而这并不是C++标准库中的标准功能。不过,在实际编程中,常常需要对字符串进行去除首尾空格的操作,因此开发者往往会自己实现一个Trim函数。
下面是一个简单的C++ Trim函数的示例,这个函数能够去除C风格字符串两端的空白字符:
```cpp
#include <iostream>
#include <cstring>
// 函数用于去除C风格字符串两端的空白字符
char* trim(char* str) {
if (str != nullptr) {
char* end;
// 去除字符串开头的空白字符
while( isspace((unsigned char)*str) ) str++;
if(*str == 0) // 如果字符串现在为空,则直接返回
return str;
// 去除字符串末尾的空白字符
end = str + strlen(str) - 1;
while(end > str && isspace((unsigned char)*end)) end--;
// 将末尾的'\0'字符放到正确的位置
end[1] = '\0';
return str;
}
return nullptr;
}
int main() {
char text[] = " Hello World! ";
std::cout << "原始字符串: \"" << text << "\"" << std::endl;
std::cout << "去除首尾空格后: \"" << trim(text) << "\"" << std::endl;
return 0;
}
```
这个简单的`trim`函数使用了`isspace`函数来检查字符是否为空白字符,并且通过字符串指针的移动来实现去除首尾空白字符的功能。
阅读全文