【去掉字符串前后空格】
#include <iostream>
using namespace std;
char *f_trim(char *str)
{
// 去掉字符串首尾空格 调用:f_trim(str)
// 参数:str-字符指针,指向输入的字符串
// 返回值:字符指针,指向去掉首尾空格后的字符串(首地址)
// 提示:可以直接在字符串str中操作
// 这里是指针在跑
char *point = str; // 组成新的指针
while (*point != '\0') // 让指针往后跑,跑到最后一个空字符的位置停下来
{
point++; // 结束时指针跑到最后一元素哪里了
}
point--; // 后退一位,以除去最后一位的那个空字符
while (point >= str && *point == ' ') // 往回跑以除去尾部的空格字符,没有空格了就停下来
{
*point = '\0';
point--;
} // 此时除去了尾部的空格字符
point = str; // 重新定义point回到第一位从头部开始除去空格字符
while (*point == ' ')
{
point++; // 结束时的位置即为新的数组首
}
return point;
}
int main()
{
// 输入的字符串存入s中,最多读取个字符,后面自动加上'\0'
char strWorld[] = " Hi 码农库 ";
cout << "[" << f_trim(strWorld) << "]\n"; // 输出去掉首尾空格后的字符串
system("pause");
return 0;
}
运行结果:
[Hi 码农库]