C++语法基础--标准IO库--字符串流
来源:互联网 发布:淘宝开放接口 编辑:程序博客网 时间:2024/06/05 05:20
1.标准库定义的三中类型的字符串流(#include<sstream>)
istringstream,ostringstream,stringstream
*stringstream:
构造函数:
explicit stringstream (ios_base::openmode which = ios_base::in | ios_base::out);
explicit stringstream (const string& str,
ios_base::openmode which = ios_base::in | ios_base::out);
方法:
string str() const;
void str (const string& s)
eg:
string str("hello");
stringstream strm; //创建自由的stringstream对象
stringstream strm1(str); //创建存储str的副本的stringstream对象
strm1.str(); //返回strm1中存储的string类型对象
strm.str(str); //将string类型的str复制给strm,返回void
应用一:将一句话拆分成单词
int main()
{
string line,word;
getline(cin,line); //输入hello how are you
istringstream strm(line); //创建存储line的副本的stringstream对象
int count=0;
while(strm>>word)
{
cout<<++count<<":"<<word<<'\t'; //1: hello 2:how 3:are 4:you
}
return 0;
}
应用二:格式转换/格式化
int main()
{
string total,wipe;
int val1=1,val2=2,val3=0,val4=0;
ostringstream write;
write<<"val1: "<<val1<<ends<<"val2: "<<val2<<endl; //将表达式转为字符串(格式转换)
total=write.str();
cout<<total<<endl; //输出val1: 1 val2:2
istringstream read(total);
read>>wipe>>val3>>wipe>>val4; //将字符串的内容提取出来,注意提取时需对应写入时的顺序(格式化)
cout<<"val3: "<<val3<<ends<<"val4: "<<val4<<endl; //输出val3: 1 val4:2
return 0;
}
istringstream,ostringstream,stringstream
*stringstream:
构造函数:
explicit stringstream (ios_base::openmode which = ios_base::in | ios_base::out);
explicit stringstream (const string& str,
ios_base::openmode which = ios_base::in | ios_base::out);
方法:
string str() const;
void str (const string& s)
eg:
string str("hello");
stringstream strm; //创建自由的stringstream对象
stringstream strm1(str); //创建存储str的副本的stringstream对象
strm1.str(); //返回strm1中存储的string类型对象
strm.str(str); //将string类型的str复制给strm,返回void
应用一:将一句话拆分成单词
int main()
{
string line,word;
getline(cin,line); //输入hello how are you
istringstream strm(line); //创建存储line的副本的stringstream对象
int count=0;
while(strm>>word)
{
cout<<++count<<":"<<word<<'\t'; //1: hello 2:how 3:are 4:you
}
return 0;
}
应用二:格式转换/格式化
int main()
{
string total,wipe;
int val1=1,val2=2,val3=0,val4=0;
ostringstream write;
write<<"val1: "<<val1<<ends<<"val2: "<<val2<<endl; //将表达式转为字符串(格式转换)
total=write.str();
cout<<total<<endl; //输出val1: 1 val2:2
istringstream read(total);
read>>wipe>>val3>>wipe>>val4; //将字符串的内容提取出来,注意提取时需对应写入时的顺序(格式化)
cout<<"val3: "<<val3<<ends<<"val4: "<<val4<<endl; //输出val3: 1 val4:2
return 0;
}
- C++语法基础--标准IO库--字符串流
- IO标准库:字符串流
- 第八章 标准IO库(文件的输入输出、字符串流)
- 【C++ Primer】【学习笔记】【第八章】标准IO库之:字符串流
- Cpp Primer<<学习IO标准库--文件模式、字符串流_7
- C++语法基础--标准IO库--输出缓冲管理
- C++语法基础--标准IO库--简单的标准IO库
- C++标准IO-串流类
- C/C++格式化字符串流
- C/C++的字符串流
- 【C++】标准IO库
- C++语言基础 例程 字符串流
- C++基础::字符串流(stringstream)
- 史上最全IO框架十(字符串流:属于字符流)
- 关于字符串流的学习(c++)
- C++primer 字符串流操作 p258
- [日常学习][C++]字符串流 <sstream>
- 字符串流
- multimap
- 基于SIFT特征的全景图像拼接
- C#的继承、多态简单小示例
- WCF Ajax交互
- Android源码学习笔记
- C++语法基础--标准IO库--字符串流
- 【图论05】并查集 1004 A Bug's Life
- C++基于TCP和UDP的socket通信
- git的初步使用
- 杭电ACM HDU 1863 畅通工程
- Fedora19启动时“出现无法应用原保存的显示器配置”解决办法
- 从CVPR2013看计算机视觉研究的三个趋势
- linux C++服务器面试题
- Django边学边做(一)