c++ - 如何获取打开的文件路径

标签 c++ filepath

<分区>

您好,谁能帮我获得一个打开的文件路径。例如:如果我打开保存在 C:\NewFolder\Hello.txt 位置的文件,我需要从 C++ 代码中获取相同的文件路径。请帮助我..

最佳答案

您可以使用 fstream 的 open() 函数打开驱动器上的文件,然后使用 getline() 等读取文件。

在 Windows 上,您需要确保转义文件路径中的反斜杠,例如C:\newFolder 将被编译器解释为“C:”+换行符+“ewFolder”,因此您需要改为编写 C:\\newFolder。

例子:

#include <fstream>
// [...]
ifstream in_file;
in_file.open("C:\\NewFolder\\Hello.txt");
if (in_file.good()) { // check to make sure the file was opened correctly
    char outbuf[1024];
    while (in_file.getline(outbuf,1024)) {
        // do something with outbuf
    }
}

如果您正在尝试执行大量文件 I/O,您可能还想看看 boost::filesystem ,它具有一定的初始学习曲线,但一旦您掌握了它,处理文件/目录就会变得非常容易。

关于c++ - 如何获取打开的文件路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12175554/

相关文章:

c++ - 尝试将 unique_ptr 放入 map 时出现编译错误

c++ - 当条件太高时循环使用类函数错误

c++ - Qt C++ 迭代时修改列表中的对象

ios - 获取文档路径后获取文件路径

c# - Python 原始字符串 "r"标志在 C# 中等效

c++ - 列出可以使用 C++ 将系统从 sleep 状态唤醒的设备并禁用/启用它们?

c++ - 来自二维三角形阵列的 MST,但有一点扭曲

c# - asp.net文件上传和文件读取(图片)

android - 如何从 Assets 文件中获取 URI?

include - NMAKE在子文件夹中找不到包含文件