c++实现读取d:\test\abc.txt中的所有字符串,并从这些字符串中随机抽取一个显示出来。做不到抽取呢!

#include<iostream>#include<fstream>#include<string>#include<iostream>#include<fstream... #include <iostream>
#include <fstream>
#include<string>
#include <iostream>
#include <fstream>
#include<string>
#include <vector>
#include<ctime>
using namespace std;
int main(void)
{
ifstream inf("d:\\test\\abc.txt"); //单词文件
string word;
vector<string> vts;
int cnt=0,i=0;
while (inf>>word) //读取每个单词
{
cnt++; //计数器加1
vts.push_back(word); //把这个单词添加到容器中
}
cout<<"文件内容如下:"<<endl;
for (vector<string>::iterator ir=vts.begin(); ir!=vts.end(); ir++) //逐个输出这些单词
{
cout<<*ir<<endl;
}
cout<<endl;
srand(time(NULL));
int a;
a=rand()%cnt;
cout<<"本次随机抽取的字符串是:"<<a<<endl;
return 0;
}
展开
 我来答
风若远去何人留
2017-05-31 · 知道合伙人互联网行家
风若远去何人留
知道合伙人互联网行家
采纳数:20412 获赞数:450134
专业C/C++软件开发

向TA提问 私信TA
展开全部

已经实现的差不多了

改一点点就可以

#include <iostream>
#include <fstream>
#include<string>
#include <iostream>
#include <fstream>
#include<string>
#include <vector>
#include<ctime>
using namespace std;
int main(void)
{
ifstream inf("d:\\test\\abc.txt"); //单词文件
string word;
vector<string> vts;
int cnt=0,i=0;
while (inf>>word) //读取每个单词
{
cnt++; //计数器加1
vts.push_back(word); //把这个单词添加到容器中
}
cout<<"文件内容如下:"<<endl;
for (vector<string>::iterator ir=vts.begin(); ir!=vts.end(); ir++) //逐个输出这些单词
{
cout<<*ir<<endl;
}
cout<<endl;
srand(time(NULL));
int a;
a=rand()%cnt;
cout<<"本次随机抽取的字符串是:"<<vts[a]<<endl;//这里直接输出对应编号的字符串。 
return 0;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式