c++ - 如何将字符串流拆分为具有 2 种分隔符(空格和引号)的向量
问题描述
任何人都可以帮助将字符串流拆分为向量吗?
我有一个较早的实现,如下所示:
int main()
{
string console_cmd;
std::vector<string> cmdList;
cout << ">> ";
getline(cin, console_cmd);
istringstream iss(console_cmd);
copy(istream_iterator<string>(iss),
istream_iterator<string>(),
back_inserter(cmdList));
return 0;
}
我的输入大多是这样的
>> check -file /folder/filename.txt
所以向量 cmdList 将包含
cmdList[0] = check
cmdList[1] = -file
cmdList[2] = /folder/filename.txt
后来,我遇到了目录问题,尤其是带有空格的目录。例子:
>> check -file /folder name/filename.txt
这个的输出变成了这样:
cmdList[0] = check
cmdList[1] = -file
cmdList[2] = /folder
cmdList[3] = name/filename.txt
我希望它看起来像这样:
cmdList[0] = check
cmdList[1] = -file
cmdList[2] = /folder name/filename.txt
我正在考虑使用分隔符,但我不知道如何实现这一点。
编辑:添加我将如何使用分隔符
>> check -file "/folder name/filename.txt"
谢谢您的帮助!
解决方案
推荐阅读
- python - 如何从 aws 图像详细信息中获取操作系统信息
- ios - 在 iOS 导航控制器中全局翻译“返回”文本
- security - 在转发到 Keycloak Login 之前阻止 Web App Basic Authorization 质询
- html - 50% 高度的 div 堆叠成行
- python - numpy 掩码创建广播
- ansible - 运行剧本时使用 ansible vault 解密 config.cnf
- spring-boot - Springboot,CXF 3.2.7,Swagger2Feature:授权头没有出现在请求头中
- python - 将可变变量设置为菜单栏条目
- python-3.x - 使用 keras 可视化 mnist NN 时出错
- bash - 结合使用 bash for 循环和嵌入式 applescript for bash 脚本