C++删除字符串中特定的字符,比如空格
#include <iostream>
#include <string>
using namespace std;
void del_sp(char *src); // 删除C风格字符串中的空格
void del_sp(string &str); // 重载del_sp,调用C风格的函数
int main()
{
char hl[] = "删 除 空 格Hello world! Hello world! 88 ";
cout << hl << endl;
del_sp(hl);
cout << hl << endl;
string str("删 除 空 格Hello world! Hello world! 88 ");
cout << str << "\n长度" << str.size() << endl;
del_sp(str); //调用重载的 del_sp
cout << str << "\n长度" << str.size() << endl;
return 0;
}
void del_sp(char *src) // 删除C风格字符串中的空格
{
char * fp = src;
while (*src) {
if (*src != ' ') { // 如果不是空格就复制
*fp = *src;
fp++;
}
src++;
}
*fp = '\0' ; //封闭字符串
}
void del_sp(string &str) // 删除string字符串中的空格
{
// 因为str.c_str() 是const的,不能直接修改,
// 所以要复制一个临时的,然后修改后换回去
char tmp[str.size()+1];
memcpy(&tmp, str.c_str(), str.size() + 1);
del_sp(tmp); // 重载del_sp,调用C风格的函数
str = tmp;
}
相关推荐
CPP.rar_cpp删除空格
C++程序中去掉字符串中存在的空格符(几种方法)
C++学习笔记(第六章 指针的应用 字符串 引用 之二)
【题目 1-体会函数参数传递】 1、下面三段程序都试图通过定义函数,实现实际参数在必要时的交换,哪些能够实现,哪些不能实现?通过运行程序和单步执行,让自己对这一过程更加清楚,然后请在博文中给出明确的回答,并用你自己的话展开描述(自己的话,但要用术语,用术语讲技术的事,是必须经历的一个过程。) 2、设计一个程序,输入3个整数,将其按从大到小的顺序输出,要求 (1)排序功能通过函数
问题 C: 字符串的查找删除
问题 C: 字符串的查找删除解题思路题目描述输入输出样例输入样例输出代码 解题思路 字符串类型的题目用C++中string比较轻松,主要是输入时要注意getline和cin混用的细节。 题目描述 给定一个短字符串(不含空格),再给定若干字符串,在这些字符串中删除所含有的短字符串。 输入 输入只有1组数据。 输入一个短字符串(不含空格),再输入若干字符串直到文件结束为止。 输出 删除输入的短字符串(不区分大小写)并去掉空格,输出。 样例输入 in #include int main() { printf("
C++字符串删除操作:erase、remove与pop_back的性能对比与应用场景
在C++编程中,字符串处理是基础且高频的操作,其性能直接影响程序效率。字符串删除操作的核心原理涉及内存管理与数据移动,理解底层机制对于编写高性能代码至关重要。从技术价值看,高效的删除策略能显著优化数据处理流程,尤其在文本解析、数据清洗和日志处理等应用场景中。本文聚焦于C++中三种关键的字符串删除方法:erase、remove和pop_back,通过分析其设计哲学与性能差异,帮助开发者掌握如何根据具体需求选择最优工具。其中,erase-remove惯用法是处理条件删除的高效方案,而pop_back则为删除末尾
c++ 实现删除字符串前后指定字符 跨平台运行
c++ 实现删除字符串前后指定字符 跨平台运行,请用cmake生成相关的工程文件


