File: tut5.cpp

package info (click to toggle)
boost1.88 1.88.0-1
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 576,932 kB
  • sloc: cpp: 4,149,234; xml: 136,789; ansic: 35,092; python: 33,910; asm: 5,698; sh: 4,604; ada: 1,681; makefile: 1,633; pascal: 1,139; perl: 1,124; sql: 640; yacc: 478; ruby: 271; java: 77; lisp: 24; csh: 6
file content (69 lines) | stat: -rw-r--r-- 1,785 bytes parent folder | download
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
//  filesystem tut5.cpp  ---------------------------------------------------------------//

//  Copyright Beman Dawes 2010

//  Distributed under the Boost Software License, Version 1.0.
//  See http://www.boost.org/LICENSE_1_0.txt

//  Library home page: http://www.boost.org/libs/filesystem

#include <boost/filesystem/fstream.hpp>
#include <string>
#include <list>

namespace fs = boost::filesystem;

int main()
{
    // \u263A is "Unicode WHITE SMILING FACE = have a nice day!"
    std::string narrow_string("smile2");
    std::wstring wide_string(L"smile2\u263A");
    std::list< char > narrow_list;
    narrow_list.push_back('s');
    narrow_list.push_back('m');
    narrow_list.push_back('i');
    narrow_list.push_back('l');
    narrow_list.push_back('e');
    narrow_list.push_back('3');
    std::list< wchar_t > wide_list;
    wide_list.push_back(L's');
    wide_list.push_back(L'm');
    wide_list.push_back(L'i');
    wide_list.push_back(L'l');
    wide_list.push_back(L'e');
    wide_list.push_back(L'3');
    wide_list.push_back(L'\u263A');

    {
        fs::ofstream f("smile");
    }
    {
        fs::ofstream f(L"smile\u263A");
    }
    {
        fs::ofstream f(narrow_string);
    }
    {
        fs::ofstream f(wide_string);
    }
    {
        fs::ofstream f(fs::path(narrow_list.begin(), narrow_list.end()));
    }
    {
        fs::ofstream f(fs::path(wide_list.begin(), wide_list.end()));
    }
    narrow_list.pop_back();
    narrow_list.push_back('4');
    wide_list.pop_back();
    wide_list.pop_back();
    wide_list.push_back(L'4');
    wide_list.push_back(L'\u263A');
    {
        fs::ofstream f(fs::path(narrow_list.begin(), narrow_list.end()));
    }
    {
        fs::ofstream f(fs::path(wide_list.begin(), wide_list.end()));
    }

    return 0;
}