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;
} 展开
#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;
} 展开
1个回答
展开全部
已经实现的差不多了
改一点点就可以
#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;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询