我有一个包含10行的.dat文件,每行都有一个单词。我如何随机选择一条线,以便将该行中的单词带入我的函数?
答案 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;
}