例如,将文件
thisFile
复制到文件
thatFile
,如以下示例所示:
ifstream fromFile("thisFile");
if (!fromFile)
error("unable to open ’thisFile’ for input");
ofstream toFile ("thatFile");
if (!toFile)
error("unable to open ’thatFile’ for output");
char c;
while (toFile && fromFile.get(c)) toFile.put(c);
使用
ios::in
的缺省模式创建名为
fromFile
的
ifstream
对象,并将其连接到
thisFile
。然后打开
thisFile
。
enum open_mode {binary=0, in=1, out=2, ate=4, app=8, trunc=0x10,
nocreate=0x20, noreplace=0x40};
注 –
UNIX 中不需要
binary
标志,提供该标志是为了与需要它的系统兼容。可移植代码在打开二进制文件时要使用
binary
标志。
您可以打开文件同时用于输入和输出。例如,以下代码打开了文件
someName
用于输入和输出,同时将其连接到
fstream
变量
inoutFile
。
如果通过向
fstream
构造函数之一提供文件名或使用
open
函数来打开文件,则在销毁
fstream
(通过
delete
销毁或其超出作用域)时,会自动关闭该文件。将文件
attach
到
fstream
时,不会自动关闭该文件。