只想知道如何从包含空格的stdin获取字符串?我试过fgets和scanf(“%[^ \ n]”,str),但它仍然不能在C中工作。如何从标准输入包含空格的字符串?
我试过程序从C++中的给定字符串中删除空格。 这是我的代码,但它不起作用。
#include <iostream>
#include <string>
using namespace std;
int main() {
// your code goes here
int t;
cin >> t;
while (t--) {
char s[1000];
cin.getline(s, 1000);
// cout<<s;
int i;
for (i = 0; s[i]; i++) {
if (s[i] != ' ')
s[i] = '\b';
}
for (i = 0; s[i]; i++)
cout << s[i];
// cout<<endl;
}
return 0;
}
为什么要用''\ b''替换每个非空格字符? –
'getline()'可能适合你 – Stephen
在关于C的问题中显示C++程序令人困惑。你应该真的有两个问题 - 两个不同的问题。一个应该是关于为什么你的C++不工作。另一个人应该尽可能在C程序上尽力而为,并解释为什么它不起作用。你应该可以使'fgets()'工作来读取行,而不管行内的空白。 –