File: fs.cc

package info (click to toggle)
c%2B%2B-annotations 13.02.02-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 13,576 kB
  • sloc: cpp: 25,297; makefile: 1,523; ansic: 165; sh: 126; perl: 90; fortran: 27
file content (31 lines) | stat: -rw-r--r-- 670 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <iostream>
#include <filesystem>

namespace fs = std::filesystem;

using namespace std;

int main()
{
    cout << fs::exists("fs.cc") << '\n';

    fs::file_status stat = fs::status("fs.cc");
    cout << exists(stat) << '\n';
    cout << (stat.type() != fs::file_type::not_found) << '\n';

    cout << oct;

    fs::perms required = fs::perms::owner_read | fs::perms::owner_write;

    cout << ((stat.permissions() & required) == required) << '\n';

    cout << static_cast<size_t>(stat.permissions()) << '\n';

    error_code ec;
    fs::rename("fs.cc", "fs2.cc", ec);
    cout << ec << '\n';

    fs::rename("fs2.cc", "fs.cc", ec);
    cout << ec << '\n';

}