使用c ++从.dat文件中选择Random Line

时间:2014-11-11 05:25:32

标签: c++ random line

我有一个包含10行的.dat文件,每行都有一个单词。我如何随机选择一条线,以便将该行中的单词带入我的函数?

1 个答案:

答案 0 :(得分:0)

你去吧。您可以将文件名更改为任何名称,并根据需要更改行数。根据你提供的信息,我做了这个。

#include <iostream>
#include <fstream>
#include <cstdlib>
#include <ctime>

int main()
{
        const char* myFileName = "data.txt";
        const int numberOfLines = 10;

        std::ifstream myData;
        std::string lines[numberOfLines];
        int index = 0;

        myData.open(myFileName, std::ifstream::in);
        while (myData.good() && index < numberOfLines ) {
                myData >> lines[index];
                index++;
        }
        myData.close();

        srand(time(NULL)); // Seed random number generator
        int randomIndex = rand() % index; // Incase there were less than numberOfLines
        std::cout << lines[randomIndex] << std::endl;
        return 0;
}