- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在用 C++ 读取 CSV 文件,行格式如下:
"一级、二级、三级", "一级", , "二级", 18, 4, 0, 0, 0
(注意空值)
当我这样做时:
while (std::getline(ss, csvElement, ',')) {
csvColumn.push_back(csvElement);
}
这将第一个字符串分成了不正确的部分。
如何在迭代时保留字符串?我尝试将上述内容结合起来,同时也捕获了用双引号分隔的行,但我得到了疯狂的结果。
最佳答案
使用 std::quoted
允许您从输入流中读取带引号的字符串。
#include <iomanip>
#include <iostream>
#include <sstream>
#include <string>
int main() {
std::stringstream ss;
ss << "\"Primary, Secondary, Third\", \"Primary\", , \"Secondary\", 18, 4, 0, 0, 0";
while (ss >> std::ws) {
std::string csvElement;
if (ss.peek() == '"') {
ss >> std::quoted(csvElement);
std::string discard;
std::getline(ss, discard, ',');
}
else {
std::getline(ss, csvElement, ',');
}
std::cout << csvElement << "\n";
}
}
需要注意的是,仅当值的第一个非空白字符是双引号时,才会提取带引号的字符串。此外,引号字符串之后的任何字符都将被丢弃,直到下一个逗号。
关于C++ CSV 行,双引号内有逗号和字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35639083/
我正在使用 suplot2grid 绘制 6 个子图,每个子图内部都有 2 个时间序列。每个子图都应在不同的 Y(垂直)轴上显示值。 我当前的输出接近我的目标,但仍然错误,如下所示: 现在我所做的事情
我想在两个斜杠之后使用带有操作的 Controller ,就好像它是操作中的操作一样。 示例:.../Administration/Institution/Register/Id 我正在使用解决方案:
在下面的查询中,我想在 CASE 的 WHEN 和 THEN 之前添加一个 AND 条件是否可行? 例如 WHEN 'r' AND table1.name="jones"THEN 'very high
在下面的查询中,我想在 CASE 的 WHEN 和 THEN 之前添加一个 AND 条件是否可行? 例如 WHEN 'r' AND table1.name="jones"THEN 'very high
我有一个标题标签,定义如下: private lazy var titleLabel: UILabel = { let label = UILabel() label.numberOfLines
我应该如何为我的以下场景实现 TableView -数据源架构: 两个 View Controller ,每个 View Controller 都包含自己的 TableView 。 表格 View 单
这一直让我发疯,从来没有找到正确的答案。 我想实现以下目标: http://juicybyte.com/stack-overflow.jpg 意思是,我想在左侧的 div 上放置一个图像,并根据内容的
我在 Firefox 正确显示切换的 div 时遇到问题。我看过其他问题,但似乎没有一个涉及同一问题。 我在两个正在切换的 div 中都有一个 wufoo 表单,这是我的代码。 $(document
我想要实现的目标非常简单。我有一个带有展开/折叠图标和问号图标的 div。当用户单击这些图标之一时,相应的隐藏 div 应向下滑动。 当用户单击展开/折叠图标而不是问号时,此功能有效。 HTML:
我有这样的东西: google Hello World 我想为所有 应用边框有一个 里面。但我不能使用 id因为此代码需要适用于任何页面,而我无法控制 ID。这可以通过 CSS
我正在尝试在各自的 docker 容器中运行 Node 和 nginx,并从 nginx 到 Node 进行代理。我首先尝试了下面的配置没有docker并且它有效。但是,当使用 docker 时,它不
使用 try-catch-finally 结构来检索数据库记录,似乎我需要在 try block 内返回一个值,以防万一一切正常(如出现异常,函数的末尾并不意味着到达)。但是如果我返回到 try 内部
我是一名优秀的程序员,十分优秀!