string.pass.cpp revision f5256e16dfc425c1d466f6308d4026d529ce9e0b
140c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project//===----------------------------------------------------------------------===//
240c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project//
340c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project//                     The LLVM Compiler Infrastructure
440c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project//
540c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project// This file is distributed under the University of Illinois Open Source
640c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project// License. See LICENSE.TXT for details.
740c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project//
840c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project//===----------------------------------------------------------------------===//
940c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project
1040c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project// <fstream>
1140c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project
1240c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project// template <class charT, class traits = char_traits<charT> >
1340c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project// class basic_fstream
1440c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project
1540c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project// explicit basic_fstream(const string& s, ios_base::openmode mode = ios_base::in|ios_base::out);
1640c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project
1740c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project#include <fstream>
1840c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project#include <cassert>
1940c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project
2040c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Projectint main()
2140c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project{
2240c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project    {
2340c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project        std::fstream fs(std::string("test.dat"),
2440c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project                        std::ios_base::in | std::ios_base::out
2540c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project                                          | std::ios_base::trunc);
2640c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project        double x = 0;
2740c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project        fs << 3.25;
2840c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project        fs.seekg(0);
2940c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project        fs >> x;
3040c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project        assert(x == 3.25);
3140c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project    }
3240c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project    std::remove("test.dat");
3340c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project    {
3440c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project        std::wfstream fs(std::string("test.dat"),
3540c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project                         std::ios_base::in | std::ios_base::out
3640c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project                                           | std::ios_base::trunc);
3740c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project        double x = 0;
3840c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project        fs << 3.25;
3940c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project        fs.seekg(0);
4040c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project        fs >> x;
4140c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project        assert(x == 3.25);
4240c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project    }
4340c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project    std::remove("test.dat");
4440c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project}
4540c4004d07a37a9b140067f893930ce4436b9346The Android Open Source Project