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

=============================CString==================================spa

 當有多個字串時,好比   
  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   );  orm

===========================std::string==================================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;it

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

 

 

附加說明stream

在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編寫的. margin

相關文章
相關標籤/搜索