- 博客(10)
- 资源 (6)
- 收藏
- 关注
原创 C++的I/O(vc版)(七)
首先,我们还有很多的类没有分析:istream,filestream,filebuf,还有对应得迭代器。第二,即使前面的分析也不能说明I/O的使用规范。如果想要熟练的使用I/O,建议读《C++标准程序库》,那是一本经典。第三,流的格式化读取和输出大部分依靠的是locale,而我们前面很少涉及,现在还看不懂源码,只能以后分析了。 下面摘抄《c++标准程序库》中关于如何自定义I/O操作符的说明。
2013-08-28 12:17:31 795
原创 C++的I/O(vc版)(六)
首先回忆一下,我们已经分析过的类:基本的流类完成:流状态信息,格式化信息,其中一些不能用掩码表示,需要特定的数据成员,locale对象,流缓冲类指针,耦合的ostream;基本的流缓冲类完成:六个指针的存储。这个我们分析的是basic_ostream 首先是类中会用到的类型声明: typedef basic_ostream _Myt; typedef basic_ios _Myios
2013-08-28 00:42:29 1580 4
原创 C++的I/O(vc版)(五)
具体的缓冲类有filebuf,stringbuf,由于filebuf的大部分工作都转交给了C流,不好分析,所以重点分析的还是stringbuf。 对于stringstream,我们最常用的语句就是:string s="1.2 5.6 7 7 ";istringstream is(s);float f; is >> f;上述语句,给出了stringbuf的基本形式:以string初
2013-08-27 16:30:27 1092
原创 C++的I/O(vc版)(四)
下面进行我们的第二大类,流缓冲类。stream并不负责写或者读,毕竟如它原本的目的一样:负责格式化,存储格式化信息;当然我们还用它存储状态信息等等。stream把它的读写工作转交给stream buffer,即缓冲区类。缓冲区类主要是围绕着位置展开操作,下面先介绍一个与位置有关的类:/*fpos:它可以存储还原任何流中的任意文件的位置指示器所需的所有信息 * 对象的类 fpos
2013-08-27 15:07:22 1351
原创 C++的I/O(vc版)(三)
前面已经分析完ios_base类了,现在来分析一下basic_ios//此处为了简洁,将许多别文件的定义搬到此文件typedef int _Mbstatet;typedef fpos streampos;typedef streampos wstreampos;#define EOF (-1)//原本定义于stdio.h//下面是类char_traits的定义//不同的字符集,不同
2013-08-27 14:37:56 1262
原创 C++的I/O(vc版)(二)
根据流类体系,我们可以看出基本的流类是ios_base和basic_ios 首先是ios_base是流类始祖,先分析ios_base,ios_base中储存的是不依赖于读写的数据的类型的基本信息,如格式化信息、异常状态、事件回调函数等。首先看一下数据成员: iostate _mystate;//stream state iostate _except_;//except
2013-08-27 00:29:49 849
原创 c++的I/O(vc版)(一)
c++的I/O是我们最常用的库之一,也是操作复杂,功能复杂的类库之一。 在C++的程序中,很少有不用I/O的程序,但是,对于我来说,I/O我却用的出奇的差,只会几个简单的函数,尽管够用,但是却用的效率奇低,于是,在此学习c++ I/O类库的使用方法。首先是I/O中流的概念,c++的I/O中的所有的操作都是基于流。流i/o:要传递的数据是无结构的字节流,字符流或者任意同等大小单位
2013-08-25 18:30:39 1084
原创 (-):wav文件转化为txt文件
首先声明一下,由于水平有限,所以这里的代码没有加入错误处理程序,为version1;第一步:明确wav格式:一、综述 WAVE文件作为多媒体中使用的声波文件格式之一,它是以RIFF格式为标准的。RIFF是英文Resource Interchange File Format的缩写,每个WAVE文件的头四个字节便是“RIFF”。 WAVE文件是由若干个Chunk组成
2013-08-12 00:13:42 5214 1
原创 (二):基二FFT
FFT://首先思路上来说,是分治,递归:/*RECURSIVE-FFT(a) *n=a.length *if n==1 return a//一个数的DFT是自身 w_n=e^(2PIi/n) w=1 a_0=(a0,a2,....an-2) a_1=(a1,a3,....an-1) y_0=RECURISIVE-FFT(a_0) y_1=RECU
2013-08-05 17:31:34 1947 2
原创 算法导论第13章-红黑树
实际应用中,我们不会直接使用二叉搜索树,因为二叉搜索树的性能严重依赖于元素的插入顺序,尤其是当元素以递增的形式插入时,此时的二叉搜素树就会成为一条链表;我们在实际应用中,使用”平衡“二叉搜索树,包括AVL树,红黑树,AA树,最常用的是红黑树(其中STL中关联容器的底层实现都是使用的红黑树),可以保证最坏情况下基本动态集合操作的时间复杂度为O(lgn)红黑树在每个节点上,增加一个颜色
2013-08-05 09:11:52 909
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人