c++ iostream

    xiaoxiao2021-12-03  51

    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; }

    转载请注明原文地址: https://ju.6miu.com/read-680060.html

    最新回复(0)