精华内容
下载资源
问答
  • #include<string> using namespace std;... if (index == string::npos) //检查下标是否到了字符串尾 { return; } s.erase(index, 1); } } 测试 int main(int argc, char** argv)
    #include<string>
    using namespace std;
    
    void trim(string& s)
    {
    	size_t index = 0;
    	while (true)
    	{
    		index = s.find(' ');
    		if (index == string::npos)	//检查下标是否到了字符串尾
    		{
    			return;
    		}
    		s.erase(index, 1);
    	}
    }
    
    

    测试

    int main(int argc, char** argv)
    {
    
    	string s = "123 456 78 9";
    	cout << "字符串: "<<s << endl;
    	
    	trim(s);
    	cout <<"删除空格后: "<< s << endl;
    
    	return 0;
    }
    
    

    输出
    在这里插入图片描述

    展开全文
  • C++删除字符串中所有空格 我百度了好多帖子,都是互相抄,用递归,递归不好理解,我就用迭代器,遍历string,碰到空格就删掉。这样很好理解。 #include <iostream> #include <string> #include ...

    C++删除字符串中所有空格

    我百度了好多帖子,都是互相抄的,用的递归,递归不好理解,我就用的迭代器,遍历string,碰到空格就删掉。这样很好理解。

    #include <iostream>
    
    #include <string>
    
    #include <ctype.h>
    
    using namespace std;
    
    int main()
    {
        string str_test;
        while (1) {
            /*下面两句清空缓冲区的*/
            cin.clear();
            cin.sync();
    
            getline(cin,str_test);
    
            for(auto iter = str_test.begin();iter != str_test.end();iter ++){
    
                if(isblank(*iter) != 0){  	 //isblank判断是否为制表符或者空格,是的话返回非零值 
               								 //需包含头文件<ctype.h>
    
                    str_test.erase(iter--); // --是因为重新判断一下填过来的字符
    
                }
    
            }
            cout << str_test << endl;
        }
    
        return 0;
    }
    
    

    有一点不好理解的就是这句:

    str_test.erase(iter--);
    

    这里迭代器为什么要减一呢?

    如果删掉此迭代器指向的空格,后面的字符会填到这个位置,你还要重新判断一下这个位置是不是空格,for循环最后iter要加一,所以这里要减一,才可以重新判断这个迭代器指向的字符。

    代码测试运行结果如下图所示
    程序测试运行结果

    展开全文
  • 输入一行字符串,将该字符串中所有空格删除,并将得到新字符串输出。 例如: 输入:Hello,My name is yy.Nice to meet you! 输出:Hello,Mynameisyy.Nicetomeetyou! 源码: #include<iostream> using ...

    题目要求:
    输入一行字符串,将该字符串中所有空格删除,并将得到的新字符串输出。
    例如:
    输入:Hello,My name is yy.Nice to meet you!
    输出:Hello,Mynameisyy.Nicetomeetyou!

    源码:

    #include<iostream>
    using namespace std;
    #include<string>
    #define N 80
    void fun(char str[]);
    int main()
    {
        char str[20];
        gets(str);   //从键盘上读入一行字符串
        fun(str);
        return 0;
    } 
    void fun(char str[])
    {
        char *tmp=str;   //定义tmp,临时存储str的字符串;
        int i=0;
        while(*tmp)  //当tmp指向字符串末尾‘\0’时结束循环
        {
            if(*tmp!=' ')  //判断字符是否为空格,不是则将该字符存到str中;
            {
                str[i++]=*tmp;
            }
         tmp++;
    }
         str[i]='\0';  //字符串用结束符标识
         puts(str);   //输出得到的新字符串
    }

    结果:

    在这里插入图片描述
    测试成功!

    Fighting!

    展开全文
  • C 字符串删除指定字符,比如删除字符串中的空格   分类: C/C++ 2013-04-09 22:37:09 由于最近在找工作,在一个笔试的题要求删除字符串中中所有的空格,比如原数组 char array

    http://blog.chinaunix.net/uid-9234131-id-3575486.html


     

    分类: C/C++

    2013-04-09 22:37:09

    由于最近在找工作,在一个笔试的题要求删除字符串中中所有的空格,比如原数组
    1. char array[]="I am Chinese . I can speak English";
    要将原数组变成

    1. char array[]="IamChinese.IcanspeakEnglish";
    当时时间紧迫,编写了一个函数,虽然完成了功能,但是用了两层循环,效率不高,晚上回家补写删除空格函数,内容如下:

    1. /************************************************************************/
    2. /* 删除字符串中指定字符 */
    3. /************************************************************************/
    4. void del_char(char* str,char ch)
    5. {
    6.     char *= str;
    7.     char *= str;
    8.     while(*q)
    9.     {
    10.         if (*!=ch)
    11.         {
    12.             *p++ = *q;
    13.         }
    14.         q++;
    15.     }
    16.     *p='\0';
    17. }
    这个函数的原理就是p,q指针指向同一个字符串,当q指针的值为要删除的字符时,q向前跳一个字符,但是p指向要删除的字符不动,q则判断新位置值是否为删除字符,如果不是,那么就从不是删除字符的位置的值赋给p指向空格的值,循环往前加,直到q=\0结束,但是当q结束了,但是p移植后面的值没有被删除,那么p='\0'则表示将后面的字符截断了。字符串的长度就变成p的位置。
    阅读(16273) | 评论(1) | 转发(3) |

    展开全文
  • C++删除字符串中的所有空格操作

    千次阅读 2020-04-22 14:58:10
    C++代码: #define _CRT_SECURE_NO_WARNINGS #include<iostream> #include<string.h> #include<string> #include<algorithm> using namespace std; string del_space(string *str) { str...
  • 删除字符串中空格的C/C++实现
  • C++中的字符串过滤空格(空字符),可以使用string自带的方法实现。 代码: #include<iostream> .../********************************************************** ...*功能:去除字符串中的空...
  • C++中提供了自动删除空格和标点符号函数,使用如下: #include #include str_testing.erase( remove_if ( str_testing.begin(), str_testing.end(), static_cast(&ispunct) ), str_testing.end()); ...
  • 删除C++ std::string字符串中的空格

    千次阅读 2019-12-16 15:16:23
    介绍一个使用标准库算法删除std::string字符串中空格的方法,代码如下: std::string str1 = " Hello world ! "; str1.erase(std::remove_if(str1.begin(), str1.end(), [](unsigned char x){return std::...
  • void del_sp(TCHAR *src) // 删除C风格字符串中的空格 { TCHAR * fp = src; while (*src) { if (*src != ' ') { // 如果不是空格就复制 *fp = *src; fp++; } src++; ...
  • void EraseSpace(string &amp;... //ch可换成其他字符 const char ch = ' '; s.erase(s.find_last_not_of(" ") + 1); s.erase(0, s.find_first_not_of(" ")); }  
  • 删除字符串中的首尾空格 C++ string

    千次阅读 2016-12-02 22:56:31
    直接上代码: [cpp] view plain copy  print?  void EraseSpace...//ch可换成其他字符  const char ch = ' ';   s.erase(s.find_last_not_of(" ") + 1);   s.erase(0, 
  • 这次要讲函数使用起来很简单方便,主要用来去除字符串首和...strip()语法:str.strip([chars])描述:移除字符串头尾指定字符(默认为空格)或字符序列。注意该方法只能删除开头或结尾字符,不能删除中间字符。...
  • std::string str1 = " Hello world ! "; str1.erase(std::remove_if(str1.begin(), str1.end(), [](unsigned char x){return std::isspace(x); }), str1.end()); std::cout << "str1= " <...
  • 删除字符串中的空格

    2008-10-29 00:24:00
    要求:不得开辟额外空间,而且用递归实现! C++版: #include<stdio.h> #include<string> usingnamespacestd; voidmoveSpace(string::iterator&head,string::iterator&newhead,...
  • 因此我总结了从下面这种字符串中提取数据方法我将要处理字符串(cout出来了,数据共54个并不是定值)由图可见字符串由字母、数字、空格、换行符组成。我方法是:1.删除说明用字母2.删除换行符n3.按空格截取...
  • 替换空格请实现一个函数,把字符串 s 中的每个空格替换成"%20"。示例 1:输入:s = "We are happy."输出:"We%20are%20happy."思路如果想把这道题目做到极致,就不要只用额外的辅助空间了!首先扩充数组到每个空格...
  • #include #include #include #include using namespace std; int main(int argc,char *argv[]) { ... std::string str(" 123 343 ... //返回一个新迭代器 } else { ++it; } } cout; return 0; }
  • 因此我总结了从下面这种字符串中提取数据方法我将要处理字符串(cout出来了,数据共54个并不是定值)由图可见字符串由字母、数字、空格、换行符组成。我方法是:1.删除说明用字母2.删除换行符n3.按空格截取...
  • 由于C++中这一个知识点...首先是标准输入输出中的gets()方法,以回车键结束。(补充:在C++11中已删除) #include&lt;iostream&gt; #inlcude&lt;cstdio&gt; using namespace std; int main() { c...
  • 删除一个字符串中的多余空格字符,使得字符串中的每个单词之间只有一个空格字符 [code=C/C++] char * my_delblank(char * str,char *newStr) { char * start = str; while(*start == ' ') { start++; } str ...
  • C/C++ / string 字符串去掉左右空格

    千次阅读 2014-09-22 17:06:53
    以下代码摘抄CSDN论坛: 源文连接在:http://topic.csdn.net/u/20110620/10/1e0e91f0-1440-45db-aa29-6ce618fec2da.html 本人目的只在于收藏; ...void del_sp(char *src) // 删除C风格字符串中的空格
  • 文本解析的字符串中有大量空格对齐换行,实现删除这些符号 void deleteChar(char *str) { char* p = NULL; p = str; do { if (*p != ' '&& *p !=' '&&*p != '\r'&&*p != '\n') { ...

空空如也

空空如也

1 2 3 4 5 6
收藏数 118
精华内容 47
关键字:

c++删除字符串中的空格

c++ 订阅