|
发表于 2017-11-14 15:32:12
|
显示全部楼层
本帖最后由 U201010009 于 2017-11-14 15:43 编辑
C语言标准中没有stringstream.h的头文件(据我所知),是C++的头文件stringstream
Header: <sstream>
Namespace: std
根据VS的msdn帮助文档里查到的fstream和sstream的信息如下:
----------------------------------------------fstream------------------------------------------------------------------------------
fstream ---> typedef basic_fstream<char, char_traits<char> > fstream
basic_fstream --->
template <class Elem, class Tr = char_traits<Elem> >
class basic_fstream : public basic_filebuf<Elem, Tr>
描述一个对象,它使用类basic_filebuf <Elem,Tr>的流缓冲区控制元素和编码对象的插入和提取,元素的类型为Elem,其特征由类Tr确定。
basic_filebuf --->
template <class Elem, class Tr = char_traits<Elem> >
class basic_filebuf : public basic_streambuf<Elem, Tr>
描述了一个流缓冲区,它控制Elem类型的元素的传输,这些元素的特征由类Tr确定,与外部文件中存储的元素序列相交。
----------------------------------------------sstream-------------------------------------------------------------------------------
sstream
定义了几个模板类,它们支持存储在已分配数组对象中的序列的iostream操作,stringstream是其中之一。
stringstream ---> typedef basic_stringstream<char> stringstream
basic_stringstream --->
template <
class Elem,
class Tr = char_traits<Elem>,
class Alloc = allocator<Elem>
>
class basic_stringstream : public basic_stringbuf<Elem, Tr>
描述一个对象,它使用basic_stringbuf<Elem,Tr,Alloc>类的流缓冲区控制元素和编码对象的插入和提取。
basic_stringbuf --->
template <class Elem, class Tr = char_traits<Elem>,
class Alloc = allocator<Elem>
>
class basic_stringbuf : public basic_streambuf<Elem, Tr>
描述了一个流缓冲区,它控制Elem类型元素的传输,它的字符特征由类Tr确定,与数组对象中存储的一系列元素进行传输。
fstream和sstream的区别可以参考basic_filebuf和basic_stringbuf的区别。
使用方法可以在msdn上找到用例。
fstream用例(https://msdn.microsoft.com/zh-cn/library/a33ahe62.aspx)
sstream用例(http://www.usidcbbs.com/read-htm-tid-1898.html)(在msdn上暂未找到用例,所以在网上找的用例)
|
|