• 主页
  • Windows SDK/API
  • 基础类
  • ActiveX
  • 数据库及相关技术
  • 网络及通讯开发
  • VCL组件使用和开发

C++ BuilderX为何无法对文件进行读取操作?这是Bug吗?

Botton2008 2004-07-14 01:00:28
最近我碰到一个奇怪的问题:在C++ BuilderX中调试C++程序时,只要是涉及到打开文件的操作,总是提示无法打开文件!

我的源代码如下:

#include <iostream>
#include <fstream>
#include <string>
#include <conio.h>

using namespace std;

int main()
{
cout << "* * This programme tests the file output operation * *\n\n";

string filename;

cout << "Please input the file name: ";
cin >> filename;
ifstream infile(filename.c_str());

if (!infile) {
cerr << "oops! cannot open \"" << filename << "\"!!"
<< endl;
exit(1);
}

string outstream;
while (infile >> outstream)
cout << outstream << "\n";

cout << "\nPress any key to exit..." << endl;
getch();

return 0;
}

编译环境:C++ BuilderX Enterprise V1.0.1.103
系统环境:Windows XP Professional SP1

无论我指定哪类文件,out、dat或txt,CBX均提示无法打开文件。我确定已经将文件Test.txt放在源程序所在的目录下,并预先指定了文件的内容。

奇怪的是,该程序在C++ Builder 6.0和Dev-C++ V4.9.8.0中调试一切正常,可以打开Test.txt,并输出其中的内容。

请向这里有人碰到过类似的问题吗?你们是如何解决的?
...全文
150 点赞 收藏 13
写回复
13 条回复
Botton2008 2004年08月31日
本问题已经找到解决方法:
即给文件添加完整的路径 Drive Letter:/path1[/path2...]/filename。
回复 点赞
befree 2004年07月21日
"oops!"?
回复 点赞
kerbcurb 2004年07月17日
必须给出路径,至于对路径有无中文以及中文路径会不会产生问题,不太清楚
回复 点赞
Botton2008 2004年07月16日
To befree:

就是提示文件无法打开,
oops! cannot open "text.txt"!
回复 点赞
Botton2008 2004年07月15日
是不是我的CBX设置有问题?
回复 点赞
zmy9709 2004年07月15日
还是中意标准c
回复 点赞
befree 2004年07月15日
你的具体出错信息是什么?
回复 点赞
Botton2008 2004年07月14日
songhtao: 我在CBX下也尝试过用其它的编译器,但除了Borland的编译器可以正常工作外,其余的编辑器均提示因缺少某些文件而无法编译,我估计是设置方面的问题,希望能有高手指点一下!
回复 点赞
Botton2008 2004年07月14日
Befree: 可我的就是不行啊!?
回复 点赞
befree 2004年07月14日
试过了,可以出来,没有问题
回复 点赞
befree 2004年07月14日
是不是一定要给出路径
回复 点赞
我不懂电脑 2004年07月14日
BCBX不会有这样的bug的

不过你用BCBX想向你请教一下:
BCBX号称跨平台,可是我在windows下用的个人版编好程序后,在平台选择中选择linx可是不能编译是怎么回事?难道要到linx下才能编译吗?可是这样的话,linx下和windows下连头文件都不同,跨平台特性就大打折扣了。
回复 点赞
kerbcurb 2004年07月14日
win2k,BCBX个人版,可以打开文件,你给出路径了吗?
回复 点赞
发动态
发帖子
C++ Builder
创建于2007-08-02

2564

社区成员

10.2w+

社区内容

C++ Builder相关内容讨论区
社区公告
暂无公告