Wczytywanie bajt po bajcie c++

Astat
Użytkownik
Użytkownik
Posty: 81
Rejestracja: 13 lis 2010, o 17:56
Płeć: Mężczyzna
Lokalizacja: Wrocław
Podziękował: 16 razy
Pomógł: 1 raz

Wczytywanie bajt po bajcie c++

Post autor: Astat »

Hej!

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.
gemini_tiger
Użytkownik
Użytkownik
Posty: 24
Rejestracja: 13 gru 2008, o 02:30
Płeć: Mężczyzna
Lokalizacja: London
Podziękował: 1 raz

Wczytywanie bajt po bajcie c++

Post autor: gemini_tiger »

rozmiar tablicy możesz przypisać dynamicznie w zależności od rozmiaru pliku lub innych potrzeb.

gemini
ODPOWIEDZ