top / index / prev / next / target / source
 日記形式でつづる いがぴょんコラム ウェブページです。
何通りか手段がありますが、基本的な C 言語をベースに文字列をファイル出力する例をつくりました。
<stdio.h> を追記#include <stdio.h>
  const UnicodeString inputStr = "あああ";
  FILE *file = fopen("c:\\temp\\test.txt", "w+");
  {
    // Unicode -> Ansi
    const AnsiString ansistr = AnsiString(inputStr);
    char *buf = new char[ansistr.Length() + 1];
    strcpy(buf, ansistr.c_str());
    fwrite(buf, sizeof(char), strlen(buf), file);
    delete[]buf;
  }
  fflush(file);
  fclose(file);
UnicodeString を AnsiString に変換した際、該当の AnsiString オブジェクトに変化を与えない限りは c_str() メソッドで戻される文字配列は 変化ないことがわかりました (ソースコードおよびマニュアルにおいて確認実施)。このため、記述的には new や delete を省略して記述することは可能なようです。(もっと複雑な場合には、やはり new char[] や delete[] の利用が必要なようです)
  const UnicodeString inputStr = "あああ";
  FILE *file = fopen("c:\\temp\\test12.txt", "w+");
  {
    // Unicode -> Ansi
    const AnsiString ansistr = AnsiString(inputStr);
    fwrite(ansistr.c_str(), sizeof(char), strlen(ansistr.c_str()), file);
  }
  fflush(file);
  fclose(file);