Necesita escribir en un file usando fopen en un proyecto de class C ++ para iOS

Tengo un proyecto que usa classs C ++ y FFmpeg, necesito usar fopen y escribir un file en el entorno limitado de la aplicación, por lo que el código que necesito escribir en C ++ es equivalente a:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *docs_dir = [paths objectAtIndex:0]; 

Esto me llevaría al sandbox de mi aplicación, donde puedo manipular mis files. La pregunta es ¿cómo puedo escribir este código en C ++ para poder usar fopen en un file?

Este es el método que necesita implementación:

 int testGrabAndWrite(const char* streamURL, bool decode, const char* filename) { FILE *outfile; int ret; int counter = 0; uint8_t *data; // Pointer to the received audio mem int size; // Size of the received audio buffer outfile = fopen(filename, "w"); if (outfile == NULL) exit(1); // Open the RTP stream if ((ret = openStream(streamURL, decode)) < 0) return ret; // Print out info about the stream found int tmpSampleRate, tmpBitRate, tmpChannels; ret = getStreamInfo(tmpSampleRate, tmpBitRate, tmpChannels); printf("\nSample rate:%d Bit rateL%d Channels:%d\n",tmpSampleRate,tmpBitRate, tmpChannels); // Grab some sample data and write it to file. while (counter < 500) { ret = getStreamData(data, size); fwrite(data, 1, size, outfile); // Write RTP packets, ie mp3, to file. printf("Wrote packet %d with size %d which returned %d. ", ++counter, size, ret); } fclose(outfile); closeStream(); return ret; } 

 NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *docs_dir = [paths objectAtIndex:0]; NSString* aFile = [docs_dir stringByAppendingPathComponent: @"somedocthatdefinitelyexists.doc"]; FILE* fp = fopen([aFile fileSystemRepresentation], "r"); 

El post -fileSystemRepresentation retruns a char * codificado adecuadamente para el sistema de files, por ejemplo, probablemente convertido a UTF-8