c_str() te devuelve un puntero al buffer ASCIIZ del String, para asignarlo a un array tipo char[] deber copiar el contenido:
Código:
AnsiString name = "lo que sea";
char name2[MAX_PATH];
strncpy(name2, name.c_str(), name.Length());
Ten en cuenta que
name2 debe tener reservada memoria suficiente para contener
name, en caso contrario se trunca la cadena.
Saludos.