我正在阅读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:
的含义或为什么一个案例优于另一个案例。我试着谷歌,但我不知道该搜索什么。任何帮助,将不胜感激。
答案 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上的当前目录。默认情况下,它是驱动器的根目录。