• CString、std::string格式化字符串


    =============================CString==================================

     当有多个字串时,比如  
      int   n1   =   5;  
      int   n2   =   10;  
      char   sz1[]   =   "abcdefg";  
      char   sz2[]   =   "hijklmn";  
       
      用std中的string如何写出最简单的代码得到MFC中CString如下效果:  
       
      CString   s;  
      s.Format("   result:   %d   +   %d   =   %d/n   sz1:   %s/n   sz2:   %s/n",   n1,   n2,   n1+n2,   sz1,   sz2   );  

    ===========================std::string==================================

    int   n1   =   5;   
    int   n2   =   10;   
    char   sz1[]   =   "abcdefg";   
    char   sz2[]   =   "hijklmn";          
              std::ostringstream   ostr;   //   include   <sstream>  
              ostr   <<   "result:"   <<   n1   <<   "+"   <<   n2   <<   "="   <<   n1+n2    
                        <<   "/nsz1:"   <<   sz1  
                        <<   "/nsz2:"   <<   sz2;  
              //std::cout   <<   ostr.str().c_str()   <<   std::endl;

    std::string s = ostr.str();

    附加说明

    在C++有两种  
      一个是在<sstream>另一个是<strstream>它们实现的东西基本一样,   区别是前者为前标准.  
      而前标准里ostringstream::str()是返回std::string的.  
       
      <strstream>包含  
        class   strstreambuf;  
        class   istrstream;  
        class   ostrstream;  
        class   strstream;  
      它们是基于char*编写的  
       
      <sstream>  
      class   istringstream;  
      class   ostreamstream;  
      class   stringbuf;  
      class   stringstream;  
      class   ...  
      ....  
      它们是基于std::string编写的.  

    ===============char * 有sprintf====================

  • 相关阅读:
    Java数组
    Java非访问修饰符
    Java 循环结构
    Java修饰符
    Java语句
    DDK
    HDC中的前景色与背景色
    如何控制一个程序只能有一个进程
    把一个bmp转换成cur显示出来(掩码mask)
    怎么设置IE代理服务器
  • 原文地址:https://www.cnblogs.com/mazhenyu/p/2918898.html
Copyright © 2020-2023  润新知