Запись в двоичный файл
Для того, чтобы записать AnsiString в бинарный файл, его нужно сначала преобразовать к массиву char.
Пример записи в файл:
TFileStream *out = new TFileStream("info", fmCreate); // создаем файл
if( out != NULL ) {
AnsiString text = "www.sources.ru"; // исходная строка
int size = text.Length();
out->Write(&size, sizeof(size));
if( size != 0 ) out->Write(text->data(), size);
}
delete out;
Чтение из двоичного файла
Пример реализации:
AnsiString text;
TFileStream *in = new TFileStream("info",fmOpenRead); // открываем файл
if( in != NULL ) {
int size;
in->Read(&size, sizeof(size));
if( size != 0 ) {
try {
text.SetLength(size);
in->Read((void *)(text.data()), size);
} catch( EOutOfMemory& ) {}
}
}
delete in;
ShowMessage(text);