C++中判断文件是否存在的常用方法包括:① C++17的std::filesystem::exists,跨平台且简洁;② std::ifstream尝试打开文件,适用于所有标准;③ Unix系统使用access函数;④ Windows平台调用GetFileAttributes。推荐优先使用std::filesystem。

在C++中判断文件是否存在,有多种方法,具体选择取决于你使用的C++标准版本和平台。以下是几种常用且有效的方式。
示例代码:
立即学习“C++免费学习笔记(深入)”;
#include <filesystem>
#include <iostream>
int main() {
std::string filename = "example.txt";
if (std::filesystem::exists(filename)) {
std::cout << "文件存在\n";
} else {
std::cout << "文件不存在\n";
}
return 0;
}
g++ -std=c++17 your_file.cpp
示例代码:
立即学习“C++免费学习笔记(深入)”;
#include <fstream>
#include <iostream>
#include <string>
bool fileExists(const std::string& filename) {
std::ifstream file(filename);
return file.is_open();
}
int main() {
if (fileExists("example.txt")) {
std::cout << "文件存在\n";
} else {
std::cout << "文件不存在\n";
}
return 0;
}
示例代码:
立即学习“C++免费学习笔记(深入)”;
#include <unistd.h>
#include <iostream>
#include <string>
bool fileExists(const std::string& filename) {
return access(filename.c_str(), F_OK) == 0;
}
int main() {
if (fileExists("example.txt")) {
std::cout << "文件存在\n";
} else {
std::cout << "文件不存在\n";
}
return 0;
}
示例代码:
立即学习“C++免费学习笔记(深入)”;
#include <windows.h>
#include <iostream>
#include <string>
bool fileExists(const std::string& filename) {
DWORD attr = GetFileAttributesA(filename.c_str());
return (attr != INVALID_FILE_ATTRIBUTES);
}
int main() {
if (fileExists("example.txt")) {
std::cout << "文件存在\n";
} else {
std::cout << "文件不存在\n";
}
return 0;
}
基本上就这些常见方式。推荐优先使用 std::filesystem::exists(C++17+),跨平台且语义清晰。若受限于旧标准,可用 std::ifstream 方法,兼容性好,代码简洁。
以上就是c++++中怎么判断文件是否存在_C++文件存在性检查方法的详细内容,更多请关注php中文网其它相关文章!
c++怎么学习?c++怎么入门?c++在哪学?c++怎么学才快?不用担心,这里为大家提供了c++速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号