//****************个人对流操作中<<和>>符号的理解********************
/// 可以这么认为:可以根据<< 或 >>箭头的方向来理解流的过程.
/// 比如:cout<
>n;来说由于>>箭头方向向右,所以意思就是将cin中的数据
/// 流入n变量,cin是标准输入流,所以cin>>n;就把屏幕上的数据写入n
/// 变量.也就是说箭头的方向相当于流的方向,也就是数据的流向.对于其他
/// 流对象(xxxstream)也是一样的道理.
/// C++流对象函数rdbuf()简介:
/// rdbuf()可以实现一个流对象指向的内容用另一个流对象来输出,比如想把
/// 一个文件的内容输出到显示器上,我们可以两行代码完成:
/// ifstream infile("test.txt");
/// cout << infile.rdbuf();
#if 0
int main()
ifstream infile("test.txt");
cout << infile.rdbuf(); //把infile流对象中的流重定向到标准输出cout上
return 0;
#endif
/// 一个简单的文件复制示例,简化了C语言繁琐的操作(循环读取)
#if 1
int main()
fstream infile("test.txt", ios::in);
if (!infile.is_open())
cout << "源文件打开失败..." << endl;
return -1;
fstream outfile("test.bak.txt", ios::out);
if (!outfile.is_open())
cout << "目标文件打开失败..." << endl;
return -1;
outfile<
使用
STL编程的时候有时候会想到把一个
流
对象指向的内容用另一个
流
对象来输出,比如想把一个
文件
的内容输出到显示器上,我们可以用简单的两行代码就可以完成。ifstream infile("test.txt");cout 上面的代码就把infile
流
对象
中
的
流
重定向到标准输出cout上,您可以在屏幕上看到test.txt的内容。下面的例子来自MSDN,清晰的描述了
rdbuf
函数
我们
使用
STL编程的时候有时候会想到把一个
流
对象指向的内容用另一个
流
对象来输出,比如想把一个
文件
的内容输出到显示器上,我们可以用简单的两行代码就可以完成。 ifstream infile("test.txt");
cout << infile.
rdbuf
();
上面的代码就把infile
流
对象
中
的
流
重定向到标准输出cout上,您可以在屏幕上看到test.txt的内容。
buf ,它定义了
RdBuf
和WrBuf特性,以及slice和Vec的一些实现
directio ,用于打开直接IO
文件
(异步IO首选)
aligned ,用于为直接IO分配适当对齐的内存。
这项工作仍在进行
中
,API尚不稳定。
杰里米·菲茨哈丁格(Jeremy Fitzhardinge)
// 重定向日志输出
ofstream file((LOG_PATH + "collect/" + fileName + ".log").c_str());
streambuf* buffe...
很久很久不写blog了,大三一年在编码方面实践了很多,也有不少的心得与体会。但是很久没有学习理论知识。现在工作也确定了,学习也轻松很多。所以决定踏实的继续学习技术理论并重实践。使自己尽快的融入到一种进步的状态
中
去。今天学习了一点东西,其实是复习了。关于
rdbuf
的
使用
。
C++
中
rdbuf
重定向
流
的经典例子:#include #include int main(void){ std::ifstre
C++
库
中
,ios,stringstream,ifstream,ofstream,basic_ios等类都有一个公有成员
函数
rdbuf
(), 返回一个指向
流
缓冲区当前位置的指针, 其
中
ios类的
rdbuf
可以接收一个streambuf* 类的指针, 把对象的
流
和参数关联起来。
具体用法如下
#include <fstream>
#include <iostream>
// ...
这里已经添加了一个新的元素:一个称作 endl的操纵算子。一个操纵算子作用于
流
上,这种情况下,插入一新行并清空
流
(消除所有存储在内部
流
缓冲区里的还没有输出的字符)。也可以只清空
流
:
另外有一个基本的操纵算子把基数变为 oct (八进制), dec (十进制)或hex (十六进制):
有一个用于提取的操纵算子“跳过”空格:
cin>>ws;
Andrew-&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;China: Says Hello
Note right of China: China thinks\nabout it
China–&amp;amp;amp;amp;amp;amp;amp;amp;am