c++ 判断文件是否存在
时间: 2023-12-21 15:04:03 浏览: 163
在C++中,可以使用ifstream的good方法来判断一个文件是否存在。以下是一个示例代码:
#include <iostream>
#include <fstream>
using namespace std;
bool isFileExists_ifstream(string& name) {
ifstream f(name.c_str());
return f.good();
}
int main() {
string filename = "1.txt";
bool ret = isFileExists_ifstream(filename);
if (ret) {
cout << "文件存在" << endl;
} else {
cout << "文件不存在" << endl;
}
}
此外,还可以使用sys中的stat函数来查阅文件的状态。以下是一个使用stat函数判断文件是否存在的示例代码:
#include <iostream>
#include <sys/stat.h>
using namespace std;
bool isFileExists_stat(string& name) {
struct stat buffer;
return (stat(name.c_str(), &buffer) == 0);
}
int main() {
string filename = "1.txt";
bool ret = isFileExists_stat(filename);
if (ret) {
cout << "文件存在" << endl;
} else {
cout << "文件不存在" << endl;
}
}
另外,还可以使用fopen的方式尝试打开一个文件来判断文件是否存在。以下是一个使用fopen函数判断文件是否存在的示例代码:
#include <iostream>
#include <stdio.h>
using namespace std;
bool isFileExists_fopen(string& name) {
if (FILE *file = fopen(name.c_str(), "r")) {
fclose(file);
return true;
} else {
return false;
}
}
int main() {
string filename = "1.txt";
bool ret = isFileExists_fopen(filename);
if (ret) {
cout << "文件存在" << endl;
} else {
cout << "文件不存在" << endl;
}
}
以上是四种常用的方法来判断文件是否存在的示例代码。根据你的需求,可以选择其中一种方法来判断文件是否存在。123
引用[.reference_title]
- 1 2 3 介绍几种使用C/C++语言判断一个文件是否存在的方法[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2
allinsert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]