正如给定的问题所述,我们需要使用字符串流从字符串中删除空格。顾名思义,字符串流将字符串转换为流。它的工作方式类似于 C++ 中的 cin。它关联一个字符串对象,该对象可以访问存储它的字符串缓冲区。
string s =" a for apple, b for ball";
res = solve(s);
登录后复制
使用字符串缓冲区,我们将逐个读取每个单词,然后将其连接成一个新字符串,这将是我们的答案。
注意 - 类字符串流在 C++ 的 sstream 头文件中可用,因此我们需要包含它。
让我们看看一些输入/输出场景
假设函数的输入中没有空格,则输出结果将与输入相同 -
Input: “Tutorialspoint”
Result: “Tutorialspoint”
登录后复制
假设函数的输入中没有空格,则输出结果将是不含空格的字符串 -
Input: “Tutorials Point”
Result: “TutorialsPoint”
登录后复制
假设函数接受的输入中只有空格,该方法无法提供输出结果 -
Input: “ ”
Result:
登录后复制
算法
-
考虑带有字符的输入字符串。
-
检查字符串是否为空,并使用 stringstream 关键字删除输入中存在的所有空格。
-
此过程将一直完成,直到字符串流指针到达行尾。
-
如果到达字符串的行尾,则程序终止。
-
更新后的字符串返回到输出结果。
示例
例如,我们有一个字符串,例如“a 代表苹果,b 代表球”,我们需要将其转换为“aforapple,bforball”。
遵循从字符串输入中删除空格以使其成为字符流的详细代码 -
#include
#include
using namespace std;
string solve(string s) {
string answer = "", temp;
stringstream ss;
ss temp;
answer+=temp;
}
return answer;
}
int main() {
string s ="a for apple, b for ball";
cout