一个TXT文本,很多单词,我要逐个词读取出来形成一个VECTOR,怎么搞?(C++)
开始想读出单词个数,然后用ifstreaminfile<<循环,但是怎么知道有多少单词啊,谢谢您好,能不要匿名吗,我有个问题,希望您帮我回答下,有分的……...
开始想读出单词个数,然后用ifstream infile << 循环,但是怎么知道有多少单词啊,谢谢
您好,能不要匿名吗,我有个问题,希望您帮我回答下,有分的…… 展开
您好,能不要匿名吗,我有个问题,希望您帮我回答下,有分的…… 展开
1个回答
2010-11-27
展开全部
while (inf>>word)
以空白为分隔符,每次从inf文件读取一个字符串(一个单词),如果inf文件不为空并且没有到文件结尾,那么这个inf>>word的读取是成功的,也就是说会返回真值,当返回假的时候就意味着文件已经读完了(同时不再满足while循环的条件),所以退出while循环。
//---------------------------------------------------------------------------
#include <iostream>
#include <fstream>
#include <vector>
#include <string>
using namespace std;
int main(void)
{
ifstream inf("c:\\a.txt"); //单词文件
string word;
vector<string> vts;
int cnt=0;
while (inf>>word) //读取每个单词
{
cnt++; //计数器加1
vts.push_back(word); //把这个单词添加到容器中
}
cout<<"there is "<<cnt<<" words in the text file."<<endl; //输出单词总数
cout<<"these words are :"<<endl;
for (vector<string>::iterator ir=vts.begin(); ir!=vts.end(); ir++) //逐个输出这些单词
{
cout<<*ir<<endl;
}
inf.close();
return 0;
}
//---------------------------------------------------------------------------
以空白为分隔符,每次从inf文件读取一个字符串(一个单词),如果inf文件不为空并且没有到文件结尾,那么这个inf>>word的读取是成功的,也就是说会返回真值,当返回假的时候就意味着文件已经读完了(同时不再满足while循环的条件),所以退出while循环。
//---------------------------------------------------------------------------
#include <iostream>
#include <fstream>
#include <vector>
#include <string>
using namespace std;
int main(void)
{
ifstream inf("c:\\a.txt"); //单词文件
string word;
vector<string> vts;
int cnt=0;
while (inf>>word) //读取每个单词
{
cnt++; //计数器加1
vts.push_back(word); //把这个单词添加到容器中
}
cout<<"there is "<<cnt<<" words in the text file."<<endl; //输出单词总数
cout<<"these words are :"<<endl;
for (vector<string>::iterator ir=vts.begin(); ir!=vts.end(); ir++) //逐个输出这些单词
{
cout<<*ir<<endl;
}
inf.close();
return 0;
}
//---------------------------------------------------------------------------
博思aippt
2024-07-20 广告
2024-07-20 广告
作为深圳市博思云创科技有限公司的工作人员,对于Word文档生成PPT的操作,我们有以下建议:1. 使用另存为功能:在Word中编辑完文档后,点击文件->另存为,选择PowerPoint演示文稿(*.pptx)格式,即可将文档内容转换为PPT...
点击进入详情页
本回答由博思aippt提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询