1324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver//===----------------------------------------------------------------------===// 2324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// 3324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// The LLVM Compiler Infrastructure 4324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// 5324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// This file is dual licensed under the MIT and the University of Illinois Open 6324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// Source Licenses. See LICENSE.TXT for details. 7324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// 8324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver//===----------------------------------------------------------------------===// 9324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 10324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// <strstream> 11324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 12324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// class ostrstream 13324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 14324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver// ostrstream(char* s, int n, ios_base::openmode mode = ios_base::out); 15324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 16324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#include <strstream> 17324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver#include <cassert> 18324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver 19324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruverint main() 20324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver{ 21324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 22324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver char buf[] = "123 4.5 dog"; 23324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver std::ostrstream out(buf, 0); 24324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver assert(out.str() == std::string("123 4.5 dog")); 25324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver int i = 321; 26324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver double d = 5.5; 27324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver std::string s("cat"); 28324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver out << i << ' ' << d << ' ' << s << std::ends; 29324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver assert(out.str() == std::string("321 5.5 cat")); 30324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 31324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver { 32324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver char buf[23] = "123 4.5 dog"; 33324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver std::ostrstream out(buf, 11, std::ios::app); 34324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver assert(out.str() == std::string("123 4.5 dog")); 35324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver int i = 321; 36324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver double d = 5.5; 37324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver std::string s("cat"); 38324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver out << i << ' ' << d << ' ' << s << std::ends; 39324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver assert(out.str() == std::string("123 4.5 dog321 5.5 cat")); 40324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver } 41324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver} 42324c4644fee44b9898524c09511bd33c3f12e2dfBen Gruver