C++ 怎么把一串字符中的空格去掉,然后存成一个字符串

补充:这个字符串是要用来比较大小的!!!!!!!
看到补充没?!!
是字符串之间的比较,不是字符之间的比较!!

第1个回答  2015-08-16
#include <stdio.h>
// 从src删除知道字符ch,存到dst并返回
char *strRemov(char* dst, const char* src, char ch = ' ')
{
    int i = -1, j = 0;
    while (src[++i])
        if (src[i] != ch)
            dst[j++] = src[i];
    dst[j] = '\0';
    return dst;
}

int main()
{
    char a[100] = "this is a test!", b[100];
    puts(strRemov(b, a));
    return 0;
}

第2个回答  2012-11-24
string catsting(string Srcstr)
{
string dststr;
size_t posstion = 0;
while(Srcstr.size() != 0)
{
if(string::npos != Srcstr.find_first_of(" "))
{
posstion = Srcstr.find_first_of(" ");
string tmpstr (Srcstr,0,posstion);
dststr += tmpstr;
Srcstr =Srcstr.erase(0,posstion+1 );
}
else
break;
}
dststr += Srcstr;
return dststr;
}

调试通过的!
第3个回答  2012-11-24
string f(string str)
{
string return_str="";
int length=str.length();
for(int i=0;i<length;i++)
if(str[i]!=' ')return_str+=str[i];
return return_str;
}追问

这是定义函数吗,要怎么调用,我还没学

追答

string str="abc def";
string s=f(str);
s就是结果 即"abcdef"

本回答被提问者采纳
第4个回答  2012-11-24
void f(char s1[],char s2[])
{
int i=0,j=0;

for(i=0;s2[i]!=0;i++)

{

if(s2[i]==' ')

{

i++;

}

else

{

s1[j]=s2[i];

j++;

}

}

s1[j]=0;

}追问

不知道你在写什么

追答

那你就不用知道

追问

我原谅你的无知,不会我不怪你,我也不会吗,但我不会乱写来显摆,没事没事,就这样了。

追答

如果我是你,我会先把语文学好。

相似回答