C++如何从txt文件读取单词到变量中

words.txt里面有30个单词,文件打开如下:ridiculousincredibleantitheisteftnonrepresentationalungracef... words.txt里面有30个单词,文件打开如下:
ridiculous incredible antitheist eft nonrepresentational ungraceful tungstate flabellinerved mountebank minimalism paroxysmal liturgician Ethiop keratoscopy Nebuchadnezzar necatoriasis udomograph incivism analogist nubecula escutcheon cognizant saxophonist teliosporangium biotransformation biotrophic craquelure crasis crateful crater

下面是我用来读取这30个词的程序,老师讲的很简单的方法,按照他讲的来做却得不到正确的结果,不知道怎么回事

#include<iostream>
#include<fstream>
#include<string>
#include<cstdlib>

using namespace std;

int main()
{
string word[30];
ifstream read;
ofstream display;
read.open("words.txt");

for (int i=0; i<30; i++)
read>>word[30];

display<<word[13];

cout<<word[2];

read.close();
display.close();
system("pause");
return 0;

}

我想从这里面读30个词,进入word[30]里面
但是我最后cout word[2]的时候,却什么也显示不出来
谢谢各位大虾帮忙
展开
 我来答
yu71941628
2008-09-07 · 超过25用户采纳过TA的回答
知道答主
回答量:42
采纳率:0%
帮助的人:0
展开全部
应该是把空格读进去了吧。你把第1个空格去掉试试看。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ryw12403
2008-09-07 · TA获得超过1899个赞
知道大有可为答主
回答量:2501
采纳率:0%
帮助的人:2100万
展开全部
for (int i=0; i<30; i++)
read>>word[30];
看下这句,read 没有读文件的成员函数么?我看你直接用了read
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
czg1003
2008-09-07 · TA获得超过2万个赞
知道大有可为答主
回答量:2694
采纳率:100%
帮助的人:2437万
展开全部
#include<iostream>
#include<fstream>
#include<string>
#include<cstdlib>

using namespace std;

int main()
{
string word[30];
ifstream read;
ofstream display;
read.open("words.txt");

for (int i=0; i<30; i++)
read>>word[i];

display<<word[13];

cout<<word[2];

read.close();
display.close();
system("pause");
return 0;

}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tattackor
2015-08-04 · TA获得超过3.5万个赞
知道大有可为答主
回答量:5083
采纳率:94%
帮助的人:890万
展开全部
使用文件操作函数foepn,fscanf既可以实现此功能。
1.fopen的函数原型:FILE * fopen(const char * path,const char * mode);
fopen函数的第一个参数是文件路径,第二个参数是打开方式,有以下几种方式:
  r 以只读方式打开文件,该文件必须存在。
  r+ 以可读写方式打开文件,该文件必须存在。
  rb+ 读写打开一个二进制文件,允许读数据。
  rw+ 读写打开一个文本文件,允许读和写。
  w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。
  w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。
  a 以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。(EOF符保留)
  a+ 以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。 (原来的EOF符不保留)
  wb 只写打开或新建一个二进制文件;只允许写数据。
  wb+ 读写打开或建立一个二进制文件,允许读和写。
  wt+ 读写打开或着建立一个文本文件;允许读写。
  at+ 读写打开一个文本文件,允许读或在文本末追加数据。
  ab+ 读写打开一个二进制文件,允许读或在文件末追加数据。
  上述的形态字符串都可以再加一个b字符,如rb、w+b或ab+等组合,加入b 字符用来告诉函数库打开的文件为二进制文件,而非纯文字文件。
返回值:文件顺利打开后,指向该流的文件指针就会被返回。如果文件打开失败则返回NULL,并把错误代码存在errno中。

2.例程:
#include<stdio.h>
#define F_PATH "d:\\myfile\\file.dat"
char c;
int main(){
FILE*fp=NULL;//需要注意
fp=fopen(F_PATH,"r");
if(NULL==fp) return -1;//要返回错误代码
while(fscanf(fp,"%c",&c)!=EOF) printf("%c",c); //从文本中读入并在控制台打印出来
fclose(fp);
fp=NULL;//需要指向空,否则会指向原打开文件地址
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式