C读取txt的随机行?

我正在运行C代码,我需要从txt文件导入数据.
文本文件包含10,000行.每行包含n列二进制数据.

代码必须循环100,000次,每次必须从txt文件随机选择一行,并将列中的二进制值分配给某些变量.

编写此代码的最有效方法是什么?我应该先将文件加载到内存中,还是应该随机打开一个随机行号?

我怎样才能在C中实现它?

解决方法

随机访问文本文件中的行,所有行都需要具有相同的字节长度.如果你没有,你需要循环,直到你得到正确的行.由于这对于如此多的访问来说会非常慢,所以最好将它加载到std :: strings的std :: strings中,每个条目都是一行(这很容易用std :: getline完成).或者既然你想从不同的列中分配值,你可以使用std :: vector和你自己的struct
struct MyValues{
  double d;
  int i;
  // whatever you have / need
};

std::vector<MyValues> vec;

哪个可能更好,而不是一直解析该行.

使用std :: vector,您可以获得随机访问权限,只需在整个文件中循环一次.

相关文章

本程序的编译和运行环境如下(如果有运行方面的问题欢迎在评...
水了一学期的院选修,万万没想到期末考试还有比较硬核的编程...
补充一下,先前文章末尾给出的下载链接的完整代码含有部分C&...
思路如标题所说采用模N取余法,难点是这个除法过程如何实现。...
本篇博客有更新!!!更新后效果图如下: 文章末尾的完整代码...
刚开始学习模块化程序设计时,估计大家都被形参和实参搞迷糊...