Program 20
#include
#include
#include
#include
void redirect(std::ostream&,const std::string&);
int main()
{
std::cout << "first line" << std::endl;
redirect(std::cout, "redirect.txt");
std::cout << "last line" << std::endl;
}
void redirect(std::ostream& strm, const std::string& filename)
{
std::ofstream file(filename.c_str());
std::streambuf* strm_puffer = strm.rdbuf();
strm.rdbuf(file.rdbuf());
file << "line is directly written to the file" << std::endl;
strm << "line is written to the redirected stream" << std::endl;
strm.rdbuf(strm_puffer);
}
#include
#include
void redirect(std::ostream&,const std::string&);
int main()
{
std::cout << "first line" << std::endl;
redirect(std::cout, "redirect.txt");
std::cout << "last line" << std::endl;
}
void redirect(std::ostream& strm, const std::string& filename)
{
std::ofstream file(filename.c_str());
std::streambuf* strm_puffer = strm.rdbuf();
strm.rdbuf(file.rdbuf());
file << "line is directly written to the file" << std::endl;
strm << "line is written to the redirected stream" << std::endl;
strm.rdbuf(strm_puffer);
}
Program
21
#include
#include
#include
int main()
{
#include
int main()
{
std::ostringstream os;
os << "dec: " << 15 << std::hex << " hex: " << 15 << std::endl;
std::cout << os.str() << std::endl;
std::cout << os.str() << std::endl;
os << "float: " << 4.67 << std::endl;
std::cout << os.str() << std::endl;
os.seekp(0);
os << "oct: " << std::oct << 15;
std::cout << os.str() << std::endl;
}
std::cout << os.str() << std::endl;
os.seekp(0);
os << "oct: " << std::oct << 15;
std::cout << os.str() << std::endl;
}
Program 22
#include
#include
#include
int main()
{
#include
int main()
{
std::string s = "Pi: 3.1415";
std::istringstream is(s);
std::string name;
double value;
is >> name >> value;
std::cout << "Name: " << name << std::endl;
std::cout << "Value: " << value << std::endl;
}
std::istringstream is(s);
std::string name;
double value;
is >> name >> value;
std::cout << "Name: " << name << std::endl;
std::cout << "Value: " << value << std::endl;
}
Program 23
#include
#include
#include
template
targettype lexical_cast(sourcetype in)
{
std::stringstream interpreter;
targettype out;
if(!(interpreter << in) || !(interpreter >> out) ||
!(interpreter >> std::ws).eof())
template
targettype lexical_cast(sourcetype in)
{
std::stringstream interpreter;
targettype out;
if(!(interpreter << in) || !(interpreter >> out) ||
!(interpreter >> std::ws).eof())
{
throw "bad lexical cast";
}
return out;
}
throw "bad lexical cast";
}
return out;
}
Program
24
#include
#include
#include
template
targettype lexical_cast(sourcetype in)
{
std::stringstream interpreter;
targettype out;
if(!(interpreter << in) || !(interpreter >> out) ||
!(interpreter >> std::ws).eof())
#include
template
targettype lexical_cast(sourcetype in)
{
std::stringstream interpreter;
targettype out;
if(!(interpreter << in) || !(interpreter >> out) ||
!(interpreter >> std::ws).eof())
{
throw "bad lexical cast";
}
return out;
}
throw "bad lexical cast";
}
return out;
}
No comments:
Post a Comment