只读文本文件中的给定行?

Jam*_* MV 1 c++ string file-io

有没有办法在C++中获取一个给定大小的随机数,然后从文本文件中读取该行?无需逐步完成所有线路?我有这个只是逐行打印:

#include <cstdio>
#include<iostream>
#include<fstream>

using namespace std;
int main(int argc, char* argv[]){
    ifstream myReadFile;
    myReadFile.open("words.txt");
    char output[100];
    if (myReadFile.is_open()) {
        while (!myReadFile.eof()) {
            printf("\n");
            myReadFile >> output;
            cout<<output;
        }
    }
    myReadFile.close();
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

Mar*_*som 9

除非你通过其他方式知道每条线的大小,否则无法做到.然后,您可以添加要跳过的行的大小,并seekg跳转到行的开头.

  • @ m0skit0,如果你在一个文件中做了很多随机样本,那么为了获得行长度,读一次它可能是有意义的.您也可能在不阅读的情况下了解长度,即每条线都是固定长度. (4认同)