首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

string stringbuf strstream stringstream 有什么区别?该怎么处理

2012-02-07 
string stringbuf strstream stringstream 有什么区别?这些类看起来很相似,能否说说区别和分别在什么情况

string stringbuf strstream stringstream 有什么区别?
这些类看起来很相似,能否说说区别和分别在什么情况下使用?
string stringbuf strstream stringstream

[解决办法]
strstream stringstream
两个版本,一老一新

[解决办法]
字符流stringstream

比如可以这样
stringstream str("2007 11 12");
string s;

str >> s;
cout <<s;//2007

str >> s;
cout <<s;//11

str >> s;
cout <<s;//12

当然也可以
int n;
str >> n;
....

[解决办法]
string 最常用了,在c++中代替c风格的字符串
如:
c中 char s[20]="1fhkjhksfjdkl";
c++中 string s("safsfafa");
[解决办法]

basic_iostream 
 帮助格式化或者翻译由流缓冲区控制的字符序列
 
basic_istream 
 帮助读取或者翻译由流缓冲区控制的序列输入
 
basic_istringstream 
 支持从内存中的数组读取 basic_string<charT,traits,Allocator> 类对象
 
basic_ofstream 
 支持写入命名文件或者其他与文件描述符关联的设备
 
basic_ostream 
 帮助格式化或者写入由流缓冲区控制的序列输出
 
basic_ostringstream 
 支持写入 basic_string<charT,traits,Allocator> 类的对象
 
basic_streambuf 
 用于派生便于字符序列控制的各种流缓冲区的抽象基类
 
basic_string 
 处理类似字符实体的模板化类
 
basic_stringbuf 
 将输入或者输出序列与任意字符序列关联
 
basic_stringstream 
 支持在内存中的数组中写入和读取 basic_string<charT,traits,Allocator> 类对象
 

[解决办法]
string是通过类模板basic_string用CHAR类型实例化的一个模板类,主要是用来处理字符串的
stringbuf通过类模板basic_stringbuf用CHAR类型实例化的一个模板类,主要是用来处理一些流的缓冲问题
strstream是在iostream这个输入输出流类派生出来的,主要是处理字符串流的
stringstream通过类模板basic_stringstream用CHAR类型实例化的一个模板类,这个功能与strstream差不多,有可能是飞所说的,是一个比较老的版本
[解决办法]
是的,
stringbuf, strstream 我是没有用过啊,
[解决办法]
strstream应该比stringstream旧吧? 

======================================

嗯,是我说错了,用类模板处理的一般都是新的,呵呵

热点排行