数据文件的第二行未正确读取
Second line of data file is not read correctly
为什么我的程序从文本文件中读取了错误的第二行值? 读取第一行的最后一个字符时,它返回一个字符串"1-1"。
数据文件:
1 1 1 1 1 1 1 -1 -1 -1 -1 -1 -1 -1
1 -1 -1 1 1 1 -1 -1 -1 -1 1 1 1 1
法典:
vector<vector<int>> input_vector, pinput_vector;
vector<int> patterns_vector;
for(auto i = 0; i < 2; i++)
{
patterns_vector.push_back(1);
for(auto j = 1; j < 15; j++)
{
getline(training, s,' ');
cout << s;
patterns_vector.push_back(stoi(s));
}
input_vector.push_back(patterns_vector);
patterns_vector.clear();
}
for(auto i = 0; i < 2; i++)
{
for(auto j = 1; j < 15; j++)
{
cout << input_vector.at(i).at(j);
}
cout << "n";
}
输出:
1 1 1 1 1 1 1 -1 -1 -1 -1 -1 -1 -1
-1 -1 1 1 1 -1 -1 -1 -1 1 1 1 1 1
我建议你将整行读成一个字符串,把这个字符串放到一个std::istringstream
中,并在std::istream_iterator
的帮助下直接构造内部向量。
也许是这样的:
std::vector<std::vector<int>> input_vector;
std::string line;
while (std::getline(training, line))
{
std::istringstream iss(line);
input_vector.emplace_back(std::istream_iterator<int>(iss),
std::istream_iterator<int>());
}
相关文章:
- 使用新行和不使用新行读取文件
- 如何在c++中从文本文件中逐行读取整数
- 如何逐行读取文件,每行中的内容都用空格分隔并将其写入新文件中
- 如何将文本文件的特定行读取到 int 类型的数组中C++?
- 使用 QT 逐行读取 JSON
- 串行读取更改输入,不读取整行
- 逐行读取文件,并将数据插入变量和数组中
- 我遇到使用 c++ 逐行读取输入文件的问题
- 无法逐行读取.csv文件
- 在 c++ 中逐行读取文件(将代码从 Python 转换为 C++)
- 如何从文件中的特定行读取 (C++)
- 如何将文件逐行读取到矢量中,然后打印矢量
- C++逐行读取文件
- 如何将带有不定条目的行读取到数字数组中?
- 如何逐行读取文件并分隔行组件?
- 串行读取()不会在没有数据接收的情况下返回值
- Arduino 到 C++ 串行读取胡言乱语
- 使用"IF" C++逐行读取文本文件
- 使用字符串流逐行读取文件两次
- C :按行读取txt文件的读数,单词用单词读取,每行的单词不均匀