c++程序问题,运行程序时显示不能打开word.txt文件,这是为什么?怎么解决?

intCGuess::RndWord(){cout<<"人机对战"<<endl;cout<<"--------------------------------------... int CGuess::RndWord(){
cout<<" 人机对战"<<endl;
cout << " ---------------------------------------" << endl << endl;
cout<<" 猜词机会:"<<m_GuessNum<<endl;
cout<<" 显示字母:"<<m_Proba<<'%'<<endl;

int x; // 记录随机数的变量
ifstream infile; // 文件流,
srand(time(NULL)); // 根据时间得到一个随机数,
infile.open("words.txt"); // 打开文件

if (!infile) //若找不到文件,处理
{
cout << " 不能打开Words.txt文件 " << endl;
system("pause");
return 0;
}
else
{
x = rand()%50; // 得到一个随机数

for (int i = 0; i <(x+1); i++) { getline(infile, m_Word); }
}
m_Length=m_Word.length();
infile.close(); // 关闭文件
return 1;
展开
 我来答
沧海雄风2009
2012-04-11 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8525
采纳率:79%
帮助的人:2837万
展开全部

按说 words.txt放在项目文件夹下就可以的

但是估计楼主放错地方了

这样把 你放在D盘根目录 

infile.open("words.txt");这个改成infile.open("d:\\words.txt");

我在项目下 放一个文件 words.txt  

然后把修改过的你的程序 运行 可以读出内容

English

Press any key to continue

words.txt中内容就是English

#include <iostream>

#include <fstream>

#include <string>

using namespace std;

int main()

{

int x,m_Length;

string m_Word; // 记录随机数的变量

ifstream infile; // 文件流,

srand(time(NULL)); // 根据时间得到一个随机数,

infile.open("words.txt"); // 打开文件

if (!infile) //若找不到文件,处理

{

cout << "                   不能打开Words.txt文件 " << endl;

system("pause");

return 0;

}

else

{

//x = rand()%50; // 得到一个随机数 

//for (int i = 0; i <(x+1); i++)

//{

getline(infile, m_Word);

//}

}

m_Length=m_Word.length();

infile.close(); // 关闭文件

cout<<m_Word<<endl;

return 0;

下面图是 项目目录 用的是VC6   exe程序在Debug文件夹中

你放对地方了么  VS  貌似放的地方跟VC6又是不同  

为了避免意外  还是建议用我开始说的 放到根目录 用绝对路径试试

更多追问追答
追问
能留个邮箱么?我还有个问题想问您,主要是程序有个错误,请您指正一下,悬赏也加到200了,不会让您白忙的.
追答
1227812201@qq.com

还未收到你的邮件
何处淬吴钩
2012-04-11 · TA获得超过5044个赞
知道大有可为答主
回答量:2947
采纳率:50%
帮助的人:2408万
展开全部
把words.txt拷贝到c盘根目录下,然后把
infile.open("words.txt"); // 打开文件
换成
infile.open("c:\\words.txt"); // 打开文件
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
无名可叫了啊
2012-04-11 · TA获得超过100个赞
知道答主
回答量:109
采纳率:0%
帮助的人:73.6万
展开全部
如果想按楼主那样打开TXT应该与CPP放在同一文件夹
否则就应该像楼上各位说的那样用绝对路径
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xoalyg
2012-04-11 · TA获得超过4178个赞
知道大有可为答主
回答量:2356
采纳率:100%
帮助的人:2378万
展开全部
假定word.txt文件放在c:\myfiles\下,则在infile.open()中应该这样写:
infile.open("c:\\myfiles\\words.txt");。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ydliwei1123
2012-04-11 · TA获得超过326个赞
知道小有建树答主
回答量:478
采纳率:0%
帮助的人:216万
展开全部
初步估计是路径问题,用完全路径,将infile.open("words.txt"); // 打开文件
改成infile.open(_T("d:\\words.txt"));
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(7)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式