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