c++ iostream
iostream实际上是一个别名,本体是basic_iostream模版类。
iostream和wiostream都是从basic_iostream模版类实例化出来的。
iostream是用于普通ANSI字符,wiostream用于宽字符(Unicode)。
iostream的定义:
typedef basic_iostream<char, char_traits<char> > iostream;
而basic_iostream则是继承自basic_istream和basic_ostream两个模版类。实例化之后成为istream或wistream以及ostream和wostream。
所以如果广义的说,iostream继承自istream和ostream也是对的。
不过本质上说实际上是basic_iostream继承自basic_istream和basic_ostream,然后用char实例化成了iostream。
==============================================
#include <sstream>
std::ostringstream oss;
oss <<"result=0"
<<"&type="
<<gm_mail.iMail_type
<<"&source="
<<gm_mail.iMail_source
<<"&status="
<<gm_mail.iStatus
<<"&time_send="
<<formatDateTimeInfo(gm_mail.iTime_send).c_str()
<<"&time_receive="
<<formatDateTimeInfo(gm_mail.iTime_received).c_str()
<<"&time_expire="
<<formatDateTimeInfo(gm_mail.iTime_expire).c_str()
<<"&send_id="
<<gm_mail.ullSender_id
<<"&send_name="
<<CGI::Encode(std::string(gm_mail.szSender_name)).c_str()
<<"&receive_id="
<<gm_mail.ullReceiver_id
<<"&receive_name="
<<CGI::Encode(std::string(gm_mail.szReceiver_name)).c_str()
<<"&titile="
<<CGI::Encode(std::string(gm_mail.szTitle)).c_str()
<<"&content="
<<CGI::Encode(std::string(gm_mail.szContent)).c_str();
std::string strReq = oss.str();
================================================
istringstream istringstream存储字符串并且可以将内部存储的数据输出到 局部变量, 类似于 sscanf
ostringstream 将外部数据输入到ostringstream中。
#include <iostream>
#include <sstream>
#include <string>
using namespace std;
int main()
{
istringstream iss("12 34");
int a, b;
iss >> a >> b; //从字符串输入流iss中读取两个数
cout << a << " " << b << endl;
string str;
ostringstream oss(str); //输出到string str中
oss << a << " " << b;
cout << oss.str() << endl; //取出输出缓冲区的值
return 0;
}
c++ iostream相关推荐
- linux下的qt缺少iostream,c – iostream:没有这样的文件或目录
我在 Windows Vista上与Qt创建者合作.我正在尝试编译一个非常简单的".cpp"代码,其中包含标准c库"iostream",如下所示: #inclu ...
- 关于iostream的效率问题
前言 经常有人说iostream的速度慢,IO流比stdio的慢多了.但是有人测试过的,iostream的速度是超过stdio的. 测试结果 /* C */ #include <stdi ...
- [C++基础]001_iostream和iostream.h的区别
C++是在C的基础上发展的,它是兼容C的.但只是兼容,它有自己完整的一套语言规则,当然你有自己的特点,其一便是<iostream>. C++引入了名字空间namespace,它避免了变量和 ...
- 无法打开源文件 “iostream.h“
改成这两行: #include<iostream> using namespace std;
- java iostream_【JAVA】IOStream
前言 IOStream是InputStream和OutputStream的简称,这两个基类下面包含着很多子类,如图(output与input对应): 对于这几个子类的介绍,详情百度百科. in和out ...
- #include iostream与#include iostream.h的区别
在新的C++标准中,生成新头文件的方法仅仅是将现有C++头文件名中的 .h 去掉.例如,<iostream.h> 变成了<iostream> ,<complex. ...
- 详解C++中经常看到的#include <iostream> using namespace std;
在cpp文件中,我们经常看到#include <iostream> using namespace std; 这两句连用.问题来了对于从C切换到C++的程序员而言为啥iostream 不写 ...
- 深入tornado中的IOStream
IOStream对tornado的高效起了很大的作用,他封装了socket的非阻塞IO的读写操作.大体上可以这么说,当连接建立后,服务端与客户端的请求响应的读写都是基于IOStream的,也就是说:I ...
- 提防iostream使用中的一个“陷阱”
提防iostream使用中的一个"陷阱" 先看下面的示例代码: template < typename T > void test() { T o; for(T i ...
- C++的iostream标准库介绍+使用详解(转)
0 为什么需要iostream 我们从一开始就一直在利用C++的输入输出在做着各种练习,输入输出是由iostream库提供的,所 以讨论此标准库是有必要的,它与C语言的 stdio库不同,它从一开始就 ...
最新文章
- 中国电子学会青少年编程能力等级测试图形化四级编程题:正话反说
- MySQL Server 5.0 和 6.0 安装指南[转]
- 【Python】Python数据分析来解析,2021年度最具“钱景”的大学专业
- 6款程序员不得不爱的bootstrap模板
- 都是基于.NET平台,WPF能取代Winform吗?
- 【做题记录】CF1428E Carrots for Rabbits—堆的妙用
- 【计算机网络】为什么一个路由器会有两个wifi信号
- 万恶的单线程!!怎样才能实现一个真正的多线程的php socket server啊!!!
- mysql备份单实例(一)shell
- web应用转化为saas多租户
- 监狱视频探视(会见)系统
- 如何使用USBASP烧写器和Atmel Studio 7.0对AVR微控制器进行编程
- oracle修改执行计划,调整执行计划的三种方法
- 数据库原理与应用实验十 数据库完整性实验
- excel转word_excel怎么转换成word格式手机?骨灰级方法确定不收藏吗?
- 大一寒假训练:集训内容考试(二)【未完待续】
- enumerate用法总结
- Python使用PIL工具、ImageDraw函数在图像上根据坐标点依次连线画矩形框,可画选择倾斜的框和折线
- SM4250平台typec耳机检测
- 指法练习软件需求说明书