c++程序问题,运行程序时显示不能打开word.txt文件,这是为什么?怎么解决?
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; 展开
按说 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
还未收到你的邮件
infile.open("words.txt"); // 打开文件
换成
infile.open("c:\\words.txt"); // 打开文件
否则就应该像楼上各位说的那样用绝对路径
infile.open("c:\\myfiles\\words.txt");。
改成infile.open(_T("d:\\words.txt"));