use*_*359 24 c++ fstream relative-path
我是否总是必须为从std::fstream类中实例化的对象指定绝对路径?换句话说,有没有办法指定它们的相对路径,例如项目路径?
Kle*_*ist 16
您也可以使用相对路径.但它们与您调用可执行文件的环境有关.
这取决于操作系统,但所有主要系统的行为或多或少都与AFAIK相同.
Windows示例:
// File structure:
c:\folder\myprogram.exe
c:\myfile.txt
// Calling command from folder
c:\folder > myprogram.exe
Run Code Online (Sandbox Code Playgroud)
在上面的示例中,您可以使用"c:/myfile.txt"或"../myfile.txt"访问myfile.txt.如果从root用户调用myprogram.exe c:\只有绝对路径可以工作,而是"myfile.txt"可以工作.
正如Rob Kennedy在评论中所说,关于fstream的路径并没有什么特别之处.但这是一个使用相对路径的代码示例:
#include <fstream>
int main() {
std::ifstream ifs("../myfile.txt");
... // Do something sensible with the file
}
Run Code Online (Sandbox Code Playgroud)
Sam*_*mer 12
如果你有一个.exe文件在运行C:\Users\Me
并想要写一个文件C:\Users\Me\You\text.txt,那么你需要做的就是添加当前的路径操作符.,所以:
std::ifstream ifs(".\\you\\myfile.txt");
Run Code Online (Sandbox Code Playgroud)
将工作
| 归档时间: |
|
| 查看次数: |
70412 次 |
| 最近记录: |