Borland関連のスレッドで、BDS2006 について質問できそうなのがここだったので
場違いな感じですが、質問させてください。
VCLフォームでTEditを2つと、TButtonを貼り付けて、TButtonに以下のコードを記入しました。
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
char  *infile, buf[256];
AnsiString inStr;
#ifndef XXX
infile = Edit1->Text.c_str();
inStr = infile;
Edit2->Text = inStr;
#else
Edit2->Text = Edit1->Text.c_str();
#endif
}

すると、Edit1に入力した文字列の文字数が、偶数の場合と、奇数の場合で
Edit2に表示される文字列が異なるのです。
具体的には、 inStr = infile の行で、infile の最後の文字がコピーされたり
されなかったりします。コピーされなかったときには、infile の内容も変更されています。
(最後の文字が削除されてる)

何か大きな勘違いをしているでしょうか?