1 //===----------------------------------------------------------------------===// 2 // 3 // The LLVM Compiler Infrastructure 4 // 5 // This file is dual licensed under the MIT and the University of Illinois Open 6 // Source Licenses. See LICENSE.TXT for details. 7 // 8 //===----------------------------------------------------------------------===// 9 10 // <strstream> 11 12 // class strstream 13 14 // strstream(); 15 16 #include <strstream> 17 #include <cassert> 18 #include <string> 19 main()20int main() 21 { 22 std::strstream inout; 23 int i = 123; 24 double d = 4.5; 25 std::string s("dog"); 26 inout << i << ' ' << d << ' ' << s << std::ends; 27 assert(inout.str() == std::string("123 4.5 dog")); 28 i = 0; 29 d = 0; 30 s = ""; 31 inout >> i >> d >> s; 32 assert(i == 123); 33 assert(d == 4.5); 34 assert(strcmp(s.c_str(), "dog") == 0); 35 inout.freeze(false); 36 } 37