查看: 228  |  回复: 0
C++去掉字符串前后空格和【子函数】f_trim(char *str)
楼主
发表于 2023年3月20日 17:19

【去掉字符串前后空格】

#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 码农库]


您需要登录后才可以回帖 登录 | 立即注册
【本版规则】请勿发表违反国家法律的内容,否则会被冻结账号和删贴。
用户名: 立即注册
密码:
2020-2024 MaNongKu.com