2015-07-21 2 views
-1

Я использую ProtonSDK (www.protonsdk.com)Сохранить указатель байт в файл

Im пытаются использовать эту функцию

byte *pData = GetFileManager()->Get("texturefile.rttex", &fileSizeBytes, true, true); 

Я хочу, чтобы сохранить вывод в файл (расжатая RTPACK), но он этого не хочет.

Я довольно новыми для C++, но у меня есть опыт работы с PHP

+1

Какое сообщение об ошибке вы получаете точно? Как это не работает? –

+0

Сохранение указателя на постоянное хранилище обычно является пустой тратой времени. В следующий раз вам почти наверняка не будет выделено одно и то же место памяти, и если бы вы это сделали, данных почти наверняка не было. Возможно, вы хотите сохранить данные, на которые указали? – user4581301

+0

Я хочу сохранить распакованные данные в файл – UnknownCozWhyNot

ответ

0

Вы можете записать его в файл с ++ стандартной библиотеки C.

http://www.cplusplus.com/doc/tutorial/files/

Или стандартная библиотека C.

Запись данных, на которые указывает pData.

#include <stdio.h> 
#include <stdlib.h> 

/* Proton SDK header */ 
/* header with byte type (not part of C standard library) */ 

int main(int argc, char** argv) 
{ 
     int fileSizeBytes; 
     FILE* fp; 

     byte *pData = GetFileManager()->Get(GetSavePath()+"test.txt", &fileSizeBytes, true); 

     fp = fopen("put_filename_here", "w"); 
     if(fp == NULL) { 
       fprintf("Cannot open file!\n"); 
       exit(-1); 
     } 
     fwrite(pData, fileSizeBytes, sizeof(byte), fp); 
     fclose(fp); 
     return 0; 
} 

Пишите pData непосредственно в файл. fwrite(&pData, 1, sizeof(pData), fp);

+0

pData пуст, когда я проверил, если его нуль – UnknownCozWhyNot

+0

Вы проверили документацию для GetFileManager()? Похоже, он не может открыть файл. –

+0

Открывает файл. Он напечатает сообщение об ошибке, указывающее, что файл не может быть открыт. – UnknownCozWhyNot

Смежные вопросы