open_pointer.pass.cpp revision bc8d3f97eb5c958007f2713238472e0c1c8fe02c
15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)//===----------------------------------------------------------------------===//
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)//
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// ��������������������The LLVM Compiler Infrastructure
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)//
55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// This file is distributed under the University of Illinois Open Source
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// License. See LICENSE.TXT for details.
75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)//
85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)//===----------------------------------------------------------------------===//
95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// <fstream>
115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1268043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)// basic_filebuf<charT,traits>* open(const char* s, ios_base::openmode mode);
135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include <fstream>
15a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)#include <cassert>
16a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)
17a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)int main()
185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){
195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    {
205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        std::filebuf f;
214e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)        assert(f.open("test.dat", std::ios_base::out) != 0);
225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        assert(f.is_open());
235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        assert(f.sputn("123", 3) == 3);
2490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)    }
255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    {
265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        std::filebuf f;
275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        assert(f.open("test.dat", std::ios_base::in) != 0);
285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        assert(f.is_open());
295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        assert(f.sbumpc() == '1');
305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        assert(f.sbumpc() == '2');
315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        assert(f.sbumpc() == '3');
32a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)    }
335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    remove("test.dat");
345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    {
355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        std::wfilebuf f;
362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        assert(f.open("test.dat", std::ios_base::out) != 0);
372a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        assert(f.is_open());
385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        assert(f.sputn(L"123", 3) == 3);
392a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    }
405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    {
415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        std::wfilebuf f;
425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        assert(f.open("test.dat", std::ios_base::in) != 0);
435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        assert(f.is_open());
445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        assert(f.sbumpc() == L'1');
455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        assert(f.sbumpc() == L'2');
465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        assert(f.sbumpc() == L'3');
475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    }
485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    remove("test.dat");
49}
50