PATH 中的冒号(例如
"a:data.dat"
)在 Windows 中意味着什么。
在以下 C++ 代码中:
ofstream outfile;
outfile.open("a:data.dat");
我使用的是 Windows 操作系统,读/写时工作正常,但我在存储的文件名中找不到“data.dat”部分。写入后只有一个名为“a”、0字节的文件
NTFS 文件系统支持每个文件多个文件流,其中文件名和流名称由
:
分隔。每个文件都有一个默认的未命名流,但也可以有其他命名流。
您所描述的听起来像是您创建了一个文件
a
,其中包含名为 data.dat
的辅助流,然后您将数据写入该流。
当您稍后尝试读取/查看文件时,如果访问默认流而不是
data.dat
流,则看起来根本没有数据写入文件。但它确实是被写入的,您需要打开 data.dat
流才能读取其数据。
仅供参考,大多数应用程序对这些辅助文件流一无所知,因此它们只读取/写入默认流。这可以解释您所经历的症状。