
c++中除了预定义的cin cout cerr等对象外,我们能否自定义istream对象和ostream对象?
2个回答
展开全部
可以。例如书上例子:
#include <iostream>
#include <fstream>
int main () {
std::filebuf fb;
if (fb.open ("test.txt",std::ios::in))
{
std::istream is(&fb); // 这个就是。istream 对象 is -- test.txt
while (is)
std::cout << char(is.get());
fb.close();
}
return 0;
}
=======
#include <iostream>
#include <fstream>
int main () {
std::filebuf fb;
fb.open ("test.txt",std::ios::out);
std::ostream os(&fb); // ostream 对象也可以,os -- test.txt
os << "Test sentence\n";
fb.close();
return 0;
}
#include <iostream>
#include <fstream>
int main () {
std::filebuf fb;
if (fb.open ("test.txt",std::ios::in))
{
std::istream is(&fb); // 这个就是。istream 对象 is -- test.txt
while (is)
std::cout << char(is.get());
fb.close();
}
return 0;
}
=======
#include <iostream>
#include <fstream>
int main () {
std::filebuf fb;
fb.open ("test.txt",std::ios::out);
std::ostream os(&fb); // ostream 对象也可以,os -- test.txt
os << "Test sentence\n";
fb.close();
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询