Iwao Dev

気付いたことをメモしています.

この画面は、簡易表示です

2013年2月25日

MFC と STL

MFC STL
CString::Right など string::substr
LPCTSTR string::c_str
LPTSTR CString::GetBuffer()    -
CString::ReverseFind() string::rfind
   - string::find_last_not_of

Xcode で,#include “..\Test\Test.h” は通らない?
バックスラッシュではなく通常のスラッシュ ‘/’ とすれば OK (VC 6 でも通る).


2013/03/04
CString::GetBuffer() にあたる部分を,string::begin() とすると VC 6 では通る(たまたま通っているだけ).
  #ifdef _MBCS
  {
    // tstring tmpStr = str + _T(“”) ;
    // _tcsrev(tmpStr.begin()) ;
    std::vector tmpStr ;
    tmpStr.resize(str.length()+1) ;
    _tcscpy(&tmpStr[0],str.c_str()) ;
    _tcsrev(&tmpStr[0]) ;
    // ….
    }
  #endif
昨日立ち読みした方法に改良.確かこんなんだったと思う.

2013/03/07
VC 7 でコンパイルすると,
  c:\…\Test.cpp(45) : error C2664: ‘_tcsrev’ :
    1 番目の引数を ‘std::basic_string::iterator’ から ‘char *’ に変換できません。

この投稿は役に立ちましたか? 役に立った 役に立たなかった 0 人中 0 人がこの 投稿 は役に立ったと言っています。

  にほんブログ村 IT技術ブログへ



    top

    %d人のブロガーが「いいね」をつけました。