C读取txt的随机行?

前端之家收集整理的这篇文章主要介绍了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&C++相关文章