¿Cómo convierto un System :: String ^ a const char *?

Estoy desarrollando una aplicación en C ++ / CLI y tengo una biblioteca de escritura de archivos csv en código no administrado que deseo usar desde la parte administrada. Así que mi función se ve algo como esto:

bool CSVWriter::Write(const char* stringToWrite);

... pero realmente estoy luchando para convertir mi brillante System :: String ^ en algo compatible. Básicamente esperaba llamar haciendo algo como:

if( m_myWriter->Write(String::Format("{0}",someValueIWantToSave)) )
{
    // report success
}

Respuestas a la pregunta(3)

Su respuesta a la pregunta