c++中的文件输入输出流相对路径
时间: 2025-02-18 11:37:51 浏览: 63
### C++ 中使用相对路径进行文件的输入输出操作
在 C++ 中,可以方便地通过相对路径来指定要读写的文件位置。相对路径是指相对于当前工作目录的位置。
#### 使用相对路径创建输出文件流对象并打开文件
当使用 `std::ofstream` 进行文件写入时,可以通过提供相对路径字符串作为构造函数参数来实现:
```cpp
#include <fstream>
#include <iostream>
int main() {
// 创建 文件输出流 对象,并与 "data/output.txt" 文件关联
std::ofstream outputFile("data/output.txt");
if (!outputFile.is_open()) {
std::cerr << "Failed to open file!" << std::endl;
return 1;
}
outputFile << "This is a test." << std::endl;
outputFile.close();
}
```
这段代码尝试在一个名为 `data` 的子目录下创建或覆盖一个叫做 `output.txt` 的文件[^5]。
#### 使用相对路径创建输入文件流对象并打开文件
对于文件读取,则可采用相似的方式定义 `std::ifstream` 来处理:
```cpp
#include <fstream>
#include <iostream>
#include <string>
int main() {
// 创建 文件输入流 对象,并与 "data/input.txt" 文件关联
std::ifstream inputFile("data/input.txt");
if (!inputFile.is_open()) {
std::cerr << "Failed to open file!" << std::endl;
return 1;
}
std::string line;
while (getline(inputFile, line)) {
std::cout << line << '\n';
}
inputFile.close();
}
```
此程序会从同一 `data` 子目录中的 `input.txt` 文件逐行读取内容至控制台显示。
需要注意的是,如果指定了不存在的父级目录(如上面例子中的 `data`),则需要先手动创建这些目录;否则,即使成功打开了文件流,也可能因为找不到目标路径而无法正常执行 I/O 操作。
阅读全文
相关推荐


















