我正在使用std::stringstream从std::string值中解析一些数据.
这段代码:
std::string str = "data1 data2 data3 \"quotated data\"";
std::stringstream ss(str);
Run Code Online (Sandbox Code Playgroud)
如果我使用,ss >> anotherStr;我会用空格分隔每个单词.
我不明白是否有一个选项可以让stringstream将引号中的数据作为单个字符串值读取?
Ric*_*ges 11
该std::quotedIO操纵者正是你需要的.
这里有一个方便的参考:http://en.cppreference.com/w/cpp/io/manip/quoted
和一个工作的例子:
#include <iostream>
#include <sstream>
#include <iomanip>
int main()
{
using namespace std;
std::string str = "data1 data2 data3 \"quotated data\"";
std::stringstream ss(str);
std::string s;
while (ss >> std::quoted(s))
{
std::cout << s << std::endl;
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
预期产量:
data1
data2
data3
quotated data
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
293 次 |
| 最近记录: |