Mam projekt, który używa klas C++ i FFmpeg, muszę użyć fopen i napisać plik do piaskownicy aplikacji, więc kod, który muszę pisać w C++ jest odpowiednikiem:Potrzebuję pisać do pliku za pomocą fopen w klasie C++ dla projektu iOS
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *docs_dir = [paths objectAtIndex:0];
to by mnie do mojego app piaskownicy, gdzie mogę dość dużo manipulować moje pliki pytanie brzmi, jak mogę iść o pisanie tego kodu w C++, dzięki czemu można używać fopen na pliku?
Jest to sposób, który wymaga wykonania:
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, i.e. mp3, to file.
printf("Wrote packet %d with size %d which returned %d. ", ++counter, size, ret);
}
fclose(outfile);
closeStream();
return ret;
}
'fopen()' jest API C, nie C++, który używa klasy 'fstream' i przyjaciół. Pokaż nam klasy, z którymi chcesz się zintegrować. – trojanfoe
utworzyć plik .mm .. w ten sposób można używać zarówno C++, jak i obiekt-c –