我正在从CSV文件中读取2d向量。但是,当它读取此单元格时,会假定它是该行的结尾,因此使该特定矢量的大小仅为1。
"HAM/ G60-II (1111-66F)
SION-01",
这是在记事本中打开CSV文件时的外观。当我将其复制到此处时,它会自动在外观中放入换行符,但在记事本中看起来却不一样。 Here's a snip of what it looks like in notepad.
另外,这很奇怪,因为当我在Excel中查看该单元格时,无论将列扩展多远,都找不到“ SION-01”。但是,当我控制+ f文档时,它指向该单元格...这很奇怪。 看起来好像是实际值中有换行符导致问题。我有一个主意,但我不知道如何实施。这将是读取逗号之间的值,但随后我不知道该行实际何时结束。我真的不知道该如何进行。我在程序中读取的大多数excel文件的值都用引号引起来,而有些则没有。
ifstream file(filename);
while (file)
{
string line;
if (!getline(file, line)) break;
istringstream ss(line);
vector<string> words;
while (ss)
{
string s;
if (!getline(ss, s, ','))break;
words.push_back(s);
}
list.push_back(words);