我编写了一个代码,用于从第一个字符串的元素复制到第二个字符串,除了space.it只需要输入,如果它得到一个空格,那么它不会将第一个字符串的字符插入第二个字符串。当我在最后打印第二个字符串时,字符串被部分分解。但是,如果我把第二个字符串完全打印出来,而不是空格,我正在尝试,但你能解决我的错误吗?
#include <bits/stdc++.h>
#include <iostream>
using namespace std;
int main()
{
char str1[100];
while(cin>>str1)
{
char str2[100];
int k=0;
for(int i=0; str1[i]!='\0'; i++)
{
if(str1[i]!=' ')
{
str2[k] = str1[i];
k++;
}
}
str2[k] = '\0';
cout<<"result is "<<str2<<endl;
}
return 0;
}
答案 0 :(得分:1)
您可以使用gets()和puts()来读取/显示字符串:
#include <iostream>
#include <string.h>
using namespace std;
int main(void)
{
char s1[100], s2[100];
int k=0;
puts("Insert your string:");
gets(s1);
for (int i=0; i<strlen(s1); i++) {
if (s1[i] != ' ') {
s2[k]=s1[i];
k++;
}
}
puts(s2);
}