std::getline 删除空格
std::getline removes whitespaces?
所以我正在创建一个命令行应用程序,我正在尝试允许带有参数的命令,或者如果参数用引号括起来,它将被视为 1 个参数。
示例:测试 "1 2"
"test"将是命令,"1 2"将是传递的单个参数。
使用以下代码片段:
while(getline(t, param, ' ')) {
if (param.find(""") != string::npos) {
ss += param;
if (glue) {
glue = false;
params.push_back(ss);
ss = "";
}
else {
glue = true;
}
}
else {
params.push_back(param);
}
}
但是 std::getline 似乎会自动删除空格,这导致我的参数从"1 2"更改为"12"
我环顾四周,但结果充斥着"如何删除空格"答案,而不是"如何不删除空格"
有人有什么建议吗?
但是 std::getline 似乎会自动删除空格
这正是您告诉getline要做的:
getline(t, param, ' ');
getline 中的第三个参数是分隔符。如果要解析输入行,则应读取它直到找到'n'
然后处理它:
while(getline(t, param)) {
/* .. */
}
嗯,你告诉它在std::getline
中使用' '
作为分隔符。当然,它会剥离空白。http://www.cplusplus.com/reference/string/getline/
相关文章:
- 使用另一个字符串从字符串中删除空格
- 如何删除已输入的书以及如何使标题,语言和名称在上面放置空格不会出错?
- 如何插入 4 个空格宽的制表符并将它们删除两个空格?
- 可视代码 删除函数括号内的空格
- 用于删除句点和空格的函数
- Emacs c++选项卡写入空格删除
- 如何删除基于空格的字符串
- 从字符数组中删除双空格
- 循环以从字符数组中删除过多的空格 (C++)
- 从文本文件中读取数据并删除所有换行符空格,并在 C++ 控制台中显示
- 从文件中读取多行.txt字符串删除空格并创建新文件进行输出
- 使用正则表达式删除前导/尾随空格,引号除外
- 从字符串中删除空格未生效
- 为什么在写入文件时删除空格无法读取文件
- 解锈化代码格式化程序删除C++单行中的空格
- c++ 如何删除特定字符串中的空格
- 删除空格后如何将其插入字符串中
- 如何删除字符串中的所有空格并将数据存储在两者之间
- 如何修改数组,从中删除空格,然后将其存储在新数组中
- 如何修复我的代码以删除字符串中的空格