ホーム » 2012 » 7月 » 19

日別アーカイブ: 2012/07/19

2012年7月
1234567
891011121314
15161718192021
22232425262728
293031  

カテゴリー

アーカイブ

ブログ統計情報

  • 99,424 アクセス


utf-8 だと…

Xcode でのファイルが UTF-8 だったのでそれを含む文字列での動作を調べてみた.
データは半角”abc”,全角”ABC”,半角”アイウ”,全角”アイウ”
Xcode で以下のコードを書いたので,このソースファイルの形式は,UTF-8.


#include <iostream>
int main(int argc, const char * argv[])
{
  char abc[] = “abc” ;
  std::cout << strlen(abc) << “\t” << abc << “\n” ;
  char ABC[] = “ABC” ;
  std::cout << strlen(ABC) << “\t” << ABC << “\n” ;
  char aiu[] = “アイウ” ;
  std::cout << strlen(aiu) << “\t” << aiu << “\n” ;
  char AIU[] = “アイウ” ;
  std::cout << strlen(AIU) << “\t” << AIU << “\n” ;
  return 0;
  }


Xcode
3 abc
9 ABC
9 アイウ
9 アイウ


VC 6 MBCS
3 abc
6 ABC
3 アイウ
6 アイウ


VC 6 UNICODE
3 abc
3 ABC
3 アイウ
3 アイウ


VC 6 でのコードは,tchar.h を利用して以下の様に書き直している.
また,ファイル形式はシフトJIS.


#include <iostream>
#include <tchar.h>
#ifdef _UNICODE
#define tcout wcout
#else
#define tcout cout
#endif
int _tmain(int argc, const TCHAR * argv[])
{
  _tsetlocale(LC_ALL, _T(“”)) ;
  TCHAR abc[] = _T(“abc”) ;
  std::tcout << _tcslen(abc) << _T(“\t”) << abc << _T(“\n”) ;
  TCHAR ABC[] = _T(“ABC”) ;
  std::tcout << _tcslen(ABC) << _T(“\t”) << ABC << _T(“\n”) ;
  TCHAR aiu[] = _T(“アイウ”) ;
  std::tcout << _tcslen(aiu) << _T(“\t”) << aiu << _T(“\n”) ;
  TCHAR AIU[] = _T(“アイウ”) ;
  std::tcout << _tcslen(AIU) << _T(“\t”) << AIU << _T(“\n”) ;
  return 0;
  }

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.