C++17 更新了 filesystem
库,非常好用,示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| #include<bits/stdc++.h> using namespace std; namespace fs = filesystem; char a[10000000]; int main() {
string s; cin>>s; fs::directory_iterator it(s);
for(auto i : it) { if(is_regular_file(i.path())) { string f = i.path().filename().string(); int sz = fs::file_size(i); cout << "name:" << f << " size:" << sz << '\n'; } }
return 0; }
|
常用类
类似于字符串,用于路径的处理、可以使用符号 /
进行连接,它会自动处理好分隔符的。
filename
成员函数可以单独提取文件名,string
成员函数用于类型转换。
目录迭代器,用 auto 可以很方便的遍历目录下所有文件和文件夹。如果你只需要遍历文件,需要使用 is_regular_file
函数,见下文。
常用函数
file_size
获取文件大小
is_regular_file
判断某路径是否是真正的文件