c ++:为什么使用.open打开文件(“a:

时间:2017-07-25 23:25:38

标签: c++ io

我正在阅读Robert Lafore的“面向对象的C ++编程”一书。在名为“Streams and Files”的章节中,有时使用例如ifstream is("edata.dat", ios::binary);打开文件,有时使用语法file.open("a:test.dat");(在创建对象file之后)。语法ifstream is("edata.dat", ios::binary);已得到很好的解释,我理解它,但他没有解释a:的含义或为什么一个案例优于另一个案例。我试着谷歌,但我不知道该搜索什么。任何帮助,将不胜感激。

1 个答案:

答案 0 :(得分:2)

a:test.dat是DOS和Windows系统上的有效路径。它表示“驱动器'a'的当前目录中名为'test.dat'的文件。”

DOS和Windows上的驱动器“a”和“b”保留用于软盘驱动器。现代计算机通常不再带有软盘驱动器,因此无法访问这些驱动器。即使是现代Windows,它们仍然保留,这就是为什么第一个存储文件系统以“c”开头。

如果您将a:test.dat替换为c:test.dat,则会引用$i++ “c”驱动器的当前目录中的“test.dat”文件。

可以使用_chdir()功能更改Windows上的当前目录。默认情况下,它是驱动器的根目录。