嗨,任何人都可以帮我获得一个打开的文件路径。例如:如果我打开保存在 C:\NewFolder\Hello.txt 位置的文件,我需要从 C++ 代码中获取相同的文件路径。请帮帮我。。
问问题
8527 次
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 回答