【100分】Pascal的重大文件输入输出问题

来源:百度知道 编辑:UC知道 时间:2024/05/28 07:16:43
pascal中用rewrite写文件时遇到的问题:
e.g.
……
assign(output,'C:\tp1\1.out');rewrite(output);
……
如果C:\tp1\这个文件夹不存在怎么办?我不要创建这个文件夹、、、
有相关的容错命令吗?

Pascal 文件输出可以用环境变量来代替未知路径吗?如不行,有什么别的办法吗?(解决此问题+50分)

assign(output,'%windir%\1.out');rewrite(output);
但pascal 里语法好像不是这样的。。。我试了一下返回码是3

请各路神牛帮忙!!谢先!
我用的是FP,try和except不能用,SysUtils库里的FileExists函数倒是可以,
不过try和except和finally的功能真的很实用
----------------------------------------------
各位所说的从环境中导出一个api函数,能否给个简单的例子看看?
光说我还是不太明白。。。
谢谢!

http://tieba.baidu.com/f?kz=83909087

文件夹不存在,但又不想创建。

那你先分析此文件是否存在不就行了??

这样就不需要容错了。

你是用Turbo Pascal吧?如果是搞信息学竞赛的话,推荐用Free Pascal,因为4年前就已不用Turbo Pascal了,现在FP是官方指定的IDE。
如果是Free Pascal的话,可以使用SysUtils库里的FileExists函数

你可以看看这个帖子http://tieba.baidu.com/f?kz=83909087

1.try..except

2.使用API获得环境变量的值

首先
try
assign(output,'C:\tp1\1.out');rewrite(output);
except
writeln('XXXX');
end;

不知道你那个支持try语句不?

至于环境变量.你要从环境中导出一个api函数才行
unction GetEnvironmentVariable(lpName: PChar; lpBuffer: PChar;
nSize: DWORD): DWORD; external kernel32 name 'GetEnvironmentVariableA';
导出后就这么简单.

不存在,必须创建