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);