Hola Andres.
Usando los datos que mostraste para el ListView (nombres, apellidos) el código funciona correctamente.
Codigo de prueba:
Código PHP:
#include <fstream>
void __fastcall TForm1::btnSaveClick(TObject *Sender)
{
AnsiString nombrearchivo = "C:\\tmp\\Reporte.txt";
std::ofstream ofs;
TListView* lv = static_cast<TListView*>(ListView1);
ofs.open(nombrearchivo.c_str(), std::ofstream::out | std::ofstream::app);
for(int i = 0; i < lv->Items->Count; i++)
ofs << (lv->Items->Item[i]->Caption + "," +
lv->Items->Item[i]->SubItems->Text).c_str();
ofs.close();
// mostrar el contenido del archivo
Memo1->Lines->LoadFromFile(nombrearchivo);
}
Resultado:
Saludos