c++ - 从 C C++ 中的文件中读取矩阵

标签 c++ c matrix

只是想知道,对于存储在文件中的矩阵,即文件中的每一行都是矩阵的一行,其中元素由空格分隔,我如何预先确定矩阵的大小,然后创建一个相同大小的数组并将其读入 C 和 C++ 中的数组?如果您有一些代码示例,将不胜感激!

谢谢和问候!

最佳答案

是这样的。您需要包括 vector 、sstream 和字符串。

无需事先求出 vector 的大小。

std::vector<int> readRow(std::string row) {
  std::vector<int> retval;
  std::istringstream is(row);
  int num;
  while (is >> num) retval.push_back(num);
  return retval;
}

std::vector<std::vector<int> > readVector(std::istream &is) {
  std::string line;
  std::vector<std::vector<int> > retval;
  while (std::getline(is, line))
    retval.push_back(readRow(line));
  return retval;
}

关于c++ - 从 C C++ 中的文件中读取矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1492517/

相关文章:

c++ - MVP 矩阵在着色器之外不工作?

Matlab:在 ode45 中使用 interp2

c++ - 这两种输入 vector 元素的方法之间的区别?哪个更有效率?

c++ - 如何使用模板模板参数为该方法不需要通用接口(interface)的 STL 容器实现通用方法

c - 获取SATA磁盘的WWN

c - 出于性能原因将代码推送到内核或用户空间?

java - 优化算法java

c++ - 标准库算法对相邻元素之间的差异进行平均

c++ - 遍历链表的列表

c - 使用 linux 内核中定义的结构时出错