0

嗨,任何人都可以帮我获得一个打开的文件路径。例如:如果我打开保存在 C:\NewFolder\Hello.txt 位置的文件,我需要从 C++ 代码中获取相同的文件路径。请帮帮我。。

4

3 回答 3

1

首先以这种方式在您的标头中声明 fstream 库。

#include <fstream>

然后为输入流创建一个对象。

ifstream read ;

以这种方式打开文件。

read.open ("C:\NewFolder\Hello.txt") ;

我想这就是你想通过打开文件路径说的。认为将文本文件保存在同一目录中会更好。

于 2012-08-29T10:11:00.343 回答
1

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

在 Windows 上,您需要确保转义文件路径中的反斜杠,例如 C:\newFolder 将被编译器解释为 "C:" + newline + "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,它具有一定的初始学习曲线,但一旦掌握了它,处理文件/目录就变得非常容易.

于 2012-08-29T11:01:45.690 回答
0

不清楚你在问什么。

如果你想知道你保存文件的位置,那么,你保存了它,不需要知道路径。在这种情况下,答案只是“记住你保存它的位置”。如果您想知道打开的文件的路径,这同样适用。你打开它,你怎么会知道路径?

如果您想允许用户在 Windows 上直观地选择文件,请查找GetOpenFileName.

于 2012-08-29T11:19:25.423 回答