gpt4 book ai didi

c++ - Windows 中的 Phantom\.txt 文件

转载 作者:行者123 更新时间:2023-12-04 12:30:33 25 4
gpt4 key购买 nike

似乎可以在 Windows 中创建一个可以读取的文件 \.txt,但我无法通过任何其他方式访问它或查看它是否存在。这似乎只适用于 \.txt 因为我无法创建其他带有反斜杠的文件,例如 a\.txt

string filename = "\\.txt";

// make file
ofstream writer(filename);
writer << "This file exists" << endl;
writer.close();

// read file
ifstream reader(filename);
string line;
getline(reader, line);
cout << line << endl;
reader.close();

当我在 bash 中使用 ls -lia 时,这个文件根本没有出现,但上面的程序读取它很好(我可以删除创建文件的部分并稍后运行它所以文件确实存在),这是如何工作的?

最佳答案

在 Windows 上,ofstream writer("\\.txt") 在当前驱动器的根目录中创建一个名为 .txt 的文件。这是一个完全有效的文件名。

ofstream writer("a\\.txt") 尝试在当前目录的 a 子目录中创建一个名为 .txt 的文件目录。 a 目录必须存在才能成功。它很可能不存在,因此对您来说失败了。

要创建目录,您可以使用 mkdir 函数(它与其他操作系统存在兼容性问题,因为 Windows 不兼容 POSIX),或 CreateDirectory WINAPI 函数,那是特定于Windows的。调用 CreateDirectoryA("a") 后,"a\\.txt" 路径应该起作用。

关于c++ - Windows 中的 Phantom\.txt 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69395029/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com