社区
C++ Builder
帖子详情
CBX的困惑:文件输入与输出
Botton2008
2004-08-12 09:23:00
最近在CBX (C++ BuilderX)调试一个文件操作程序时,遇到很令人困惑的问题:
1. 同样一个文件在DEV-C++和BCB下可以正常读出内容,但在CBX下却只能读出一个“^”;
2. 在CBX下向文件输入数据时,按Ctrl+Z无法结束输入,Ctrl+E也不行。
我查找了CBX的帮助文件,但没能找到答案。谁能帮帮我啊?
...全文
338
21
打赏
收藏
CBX的困惑:文件输入与输出
最近在CBX (C++ BuilderX)调试一个文件操作程序时,遇到很令人困惑的问题: 1. 同样一个文件在DEV-C++和BCB下可以正常读出内容,但在CBX下却只能读出一个“^”; 2. 在CBX下向文件输入数据时,按Ctrl+Z无法结束输入,Ctrl+E也不行。 我查找了CBX的帮助文件,但没能找到答案。谁能帮帮我啊?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
21 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Botton2008
2004-08-31
打赏
举报
回复
本问题已经找到解决方法:
即添加"完整的文件路径",如Drive Letter:/path1[/path2...]/filename.
特别感谢Kerbcurb!
kerbcurb
2004-08-14
打赏
举报
回复
比如:
ofstream writeFile("c:\\mat.dat", ios::out);
ifstream readFile("c:\\mat.dat", ios::in);
Botton2008
2004-08-13
打赏
举报
回复
再问Kerbcurb:
如何在代码中添加"文件的完全路径"呢?
Botton2008
2004-08-13
打赏
举报
回复
非常感谢Kerbcurb()的热心帮助!
想教Kerbcurb():
你所说的全部路径是指“文件的完全路径”吗?
ThinkX
2004-08-13
打赏
举报
回复
bcb6和cbx是同一个编译器,结果应该完全一致
qiuafa
2004-08-13
打赏
举报
回复
斗胆问一下是不是分割路径这个问题呀:
\ 不等于 /
kerbcurb
2004-08-13
打赏
举报
回复
文件的完全路径
jishiping
2004-08-12
打赏
举报
回复
1、我觉得不太可能,读文件这么基础的东西,不可能有问题,应该还是你代码的问题。
2、这个就不能确定了。CBX 是跨平台的,这个是DOS下才有的功能吧,CBX可能不支持。
Botton2008
2004-08-12
打赏
举报
回复
看来我只好放弃使用CBX了!
kerbcurb
2004-08-12
打赏
举报
回复
writeFile << dataline << "\n";
改成:
writeFile << dataline<<endl;
就可以了
"\n"不完全等同于endl,"\n"只是换行,endl是换行加上刷新,由此看来Borland的编译器更符合标准。
另外可以
//#include <string>
//#include <cstdlib>
kerbcurb
2004-08-12
打赏
举报
回复
另外,直接执行文件,ctrl+Z可以结束输入,文件只保存了第一个输入的字符。
COpyFRee
2004-08-12
打赏
举报
回复
一个不成熟的产品,没有必要去努力适应它,等等吧!
kerbcurb
2004-08-12
打赏
举报
回复
代码没有问题,CBX不能正确执行,感觉getline和readline没有返回正确值,加上全部路径也许行,有一帖子也说过类似问题,我加上全部路径可以,不加全部路径不行。
Botton2008
2004-08-12
打赏
举报
回复
以下是测试程序的源代码,请大家审查,看问题出在哪儿?
#include <iostream>
#include <fstream>
#include <string>
#include <cstdlib>
#include <conio.h>
using namespace std;
int main()
{
ofstream writeFile("mat.dat", ios::out);
if (!writeFile) {
cerr << "oops: cannot create 'mat.dat'!";
exit(-1);
}
string dataline;
cout << "Please input data by line:\n";
while (getline(cin, dataline, '\n'))
writeFile << dataline << "\n";
ifstream readFile("mat.dat", ios::in);
if (!readFile) {
cerr << "oops: cannot open 'mat.dat'!";
exit(-2);
}
cout << "Read data by line from 'mat.dat':\n";
while (getline(readFile, dataline, '\n'))
cout << "Read: " << dataline << "\n";
cout << "\n\nPress any key to exit..." << endl;
getch();
return 0;
}
CB1013
2004-08-12
打赏
举报
回复
没用过,学习中。。。
我不懂电脑
2004-08-12
打赏
举报
回复
CBX还不成熟,等2.0再开发商业程序吧。
ch_builder
2004-08-12
打赏
举报
回复
我觉得楼主还是应该仔细学习学习了,说你胡说八道,有点对不起你,但有时你好象真在乱说
Botton2008
2004-08-12
打赏
举报
回复
代码应该没问题,同样的代码在Dev-C++和BCB 6.0环境下都能正常运行的!
3996906
2004-08-12
打赏
举报
回复
用法有点改变吧~~~~~~
yjy1001
2004-08-12
打赏
举报
回复
我赞同 JSP 大侠的说法
这样基础的东西,没理由没测试过
加载更多回复(1)
CBX
开发人员手册,Delphi的CBX控件开发
CBX
开发人员手册,Delphi的
CBX
控件开发网络客户,服务端程序
CBX
高级程序开发手册
CBX
开发手册 提供了从架构 布暑开发的详细方法.
CBX
开发范例服务端安装
CBX
开发范例 提供了详细的例子,包括服务端安装
BS开发
CBX
开发手册
详细的开发手册 如果机器上安装了FireBird或InterBase数据库,则需要停止服务,卸载干净。 Console可以远程连接
CBX
服务端。
CBX
服务器最好不要安装在域用户环境中。否则,需要
输入
域用户的帐号。 对于IIS8,
CBX
需要手工添加IIS别名,并且确保打开ISAPI权限。 在安装
CBX
服务端之前,应首先确保IIS的运行通畅,以及在目标客户端位置能够正常的访问IIS发布的页面。否则,在安装失败的情况下,很难判断问题的来源,因为很多情况是IIS本身的故障,而并非框架本身的原因。
CBX
原则上可以放在任何目录下安装,但是为了管理的方便和系统的健壮,建议其位置一般在根目录下,或者简单目录名称的目录下。最好不要将其放置在WWWRoot或带有空格的目录下。 有些Window环境下,特别是如果刚刚安装IIS,那么需要在防火墙打开对IIS的屏蔽,或添加80端口的控制例外。否则,网络的其他客户端将无法浏览系统。
CBX
应用开发.pdf
CBX
应用开发.pdf
C++ Builder
13,873
社区成员
102,696
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章