c++在字符串中怎么剔除空格字符
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c++在字符串中怎么剔除空格字符相关的知识,希望对你有一定的参考价值。
参考技术A #include <stdio.h>#include <string.h>
#include <malloc.h>
void trimall(char* s)
int l=strlen(s);
char* tp=(char*)malloc(l+1);
char* ctp=tp;
char* cs=s;
while(*s)
if(*s!=' ')
*tp=*s;
tp++;
s++;
*tp='\0';
strcpy(cs,ctp);
free(ctp);
int main()
char str[100];
printf("输入一个字符串:");
gets(str);
trimall(str);
printf("清除空格后:\n%s\n",str);
return 0;
输入一个字符串:123 abcd fhdjjs bs n
清除空格后:
123abcdfhdjjsbsn
请按任意键继续. . .追问
只采用#include
#include
头文件
#include
#include
void trimall(char* s)
int l=strlen(s);
char ctp[100];
char* tp=ctp;
char* cs=s;
while(*s)
if(*s!=' ')
*tp=*s;
tp++;
s++;
*tp='\0';
strcpy(cs,ctp);
int main()
char str[100];
printf("输入一个字符串:");
gets(str);
trimall(str);
printf("清除空格后:\n%s\n",str);
return 0;
如何在 C++ 中使用 cin 将所有空格读入字符串?
【中文标题】如何在 C++ 中使用 cin 将所有空格读入字符串?【英文标题】:How to read in all whitespaces with cin in C++ into a string? 【发布时间】:2018-02-19 05:05:16 【问题描述】:这是一个令人费解的问题,但是否可以读取用户的输入但让 cin 不停留在换行符或空格处?例如,用户可以输入:
Hello w orld!
Hello World!
我希望所有的空格和换行符都输入到字符串中,基本上是来自用户的原始输入。有人可以告诉我如何在 C++ 中做到这一点吗?谢谢。
【问题讨论】:
您可以选择另一个分隔符(输入结束),然后使用string o; std::getline(cin, o, '-');
**其中“-
”是必需的分隔符,它是一个单字符**
方便阅读:***.com/a/36978839/4581301 这使得How to read until EOF from cin in C++ 成为各种骗局。
【参考方案1】:
您可以使用 std::getline 来显示:
#include <iostream>
#include <string>
int main()
std::string helloWorld;
std::getline( std::cin, helloWorld );
return 0;
【讨论】:
以上是关于c++在字符串中怎么剔除空格字符的主要内容,如果未能解决你的问题,请参考以下文章