我想问一下在c++里怎么将一行字符串中的空格去掉

这是我写的一部分,不过功能没有实现 ,不知道有谁能帮我解决一下,谢谢了!#include<iostream>
#include<string>
#include<stdio>
using namespace std;
char KongGe(char str[4],int n);
void main()
{
int i;
const int max=4;
char str[max];
cout<<"请输入字符串"<<endl;
for(int j=0;j<=max;j++)
gets(str[j],j);
cout<<"原来的字符串是:"<<endl;
for(int j=0;j<=max;j++)
puts(str[j]);
cout<<"处理完后的字符串是:"<<endl;
char ChuLi=KongGe(str,max);
cout<<ChuLi<<endl;
}
char KongGe(char str[4],int n)
{
for(int m=0;m<n;m++)
{
if(str[n]==32)
{
n++;
}
}
return *str;
}

第1个回答  2007-04-11
你的有点复杂,试试 这个

#include <iostream>
using namespace std;
int main()
{char c=' ',ch;
cout<<"输入一串字符:";
cin>>ch;
while((ch=getchar())!='\n') //调用getchar()函数,对输入的每个字符检查
{
if(ch==' ') //检查到遇到的字符是空格
; //空语句,起到删除作用
else cout<<ch;}
cout<<endl;
return 0;
}

在visual c++6.0下运行结果:
输入一串字符:456 2123kjfs fsj ds
562123kjfsfsjds
第2个回答  2007-04-10
#include<string>
#include<cstdio>
#include <iostream>
using namespace std;

const int max = 40;
char* KongGe( char* src, char* des );
void main()
{
int i;

char str[max], des[max];
cout << "请输入字符串" << endl;
cin.getline( str, max );

cout << "原来的字符串是:" << endl;
cout << str;

cout << "处理完后的字符串是:" << endl;

KongGe( str, des );
cout << des << endl;
}
char* KongGe( char* src, char* des )
{
while ( *src != NULL )
{
if ( *src != ' ' )
{
*des++ = *src;
}
src++;
}
*des = NULL;
return des;
}
第3个回答  2007-04-10
char str[4] ??

你的字符串只有4个吗本回答被提问者采纳
相似回答