Nie mogę sobie poradzić z wczytywaniem bajt po bajcie do bufora DOWOLNEGO pliku, np. .txt, .jpg, .mp3, .zip...
Robię coś takiego:
#include <iostream>
#include <fstream>
#include <string>
#include <math.h>
#include <list>
int main()
{
ifstream ifs("test.txt", ios::binary); // otwieramy plik do odczytu binarnego
char* temp = new char[1000]; // tymczasowy bufor na dane
ifs.read(temp, 1000); // wczytujemy dane do bufora
unsigned int A[1000];
for(int i=0;i<1000;i++)
cout<<temp;
cout<<endl<<endl;
for(int i=0;i<1000;i++)
{ A=(int)temp; cout<<" "<<A; }
ofstream ofs("testBit.txt", ios::binary); // otwieramy plik do zapisu binarnego
ofs.write((char*)(file), 1000); // zapisujemy dane do pliku
system("Pause");
return 0;
}
Dla plików stosujących kodowanie inne niż ASCII wylatują mi ogromne int-y i krzaczki. A chcę, aby int-y były z przedziału 0 do 255. Do tego chciałbym jeszcze jakoś sensownie zmierzyć długość pliku w bajtach, aby rozsądnie podać rozmiar tablicy.
Cel: przepisać kolejne bajty pliku (niezależnie od kodowania) do tablicy intów długości pliku w bajtach.