【发布时间】:2015-07-31 12:14:37
【问题描述】:
我正在用 C++ 创建一个问答游戏。因此,主要要求是每次程序运行时都应从文件中随机获取问题。那么,我怎样才能在 C++ 中做到这一点? 考虑以下两个简单的程序。
Write.cpp
#include <iostream>
#include <fstream>
#include <string>
using std::cout;
using std::ofstream;
using std::string;
int main()
{
ofstream fout("test.txt");
if(!fout)
cout<<"Error in opening file";
string s[3];
s[0]="C++ provides object oriented string handling";
s[1]="C++ provides object oriented exception handling";
s[2]="C++ provides highest flexibility to the programmer";
for(int i=0;i<3;i++)
fout<<s[i]<<'\n';
fout.close();
}
读取.cpp
#include <iostream>
#include <fstream>
#include <string>
using std::cout;
using std::string;
using std::ifstream;
int main()
{
ifstream fin("test.txt");
if(!fin)
cout<<"Error in opening file";
string s[3];
for(int i=0;i<3;i++)
getline(fin,s[i]);
for(int i=0;i<3;i++)
cout<<s[i]<<'\n';
fin.close();
}
我应该怎么做,当我编译 Read.cpp 并运行 Read.exe 文件时,应该从文件中随机获取 3 个字符串并显示出来?
非常感谢您的帮助。
【问题讨论】:
-
您能否添加有关您的问题的更多详细信息?你试过什么?
-
@Ilya:我已经提供了有关我的问题的足够详细信息。你还需要什么?
-
如果文件的每一行都是一个可能的目标字符串,并且你知道文件中的总行数,你可以从
1 .. line_count范围内生成3个随机数,然后遍历你的文件并存储每个随机生成的数字对应的每一行 -
@Ploutox:如果你写一个答案并使用程序解释它会更好。
-
@PravasiMeet,现在还不明显,你有算法或技术问题吗。您是否需要描述可以以随机顺序显示数组字符串的算法?或者您是否需要有关如何在 c++ 中获取随机值的信息?
标签: c++ file ifstream information-retrieval ofstream