Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Citanje binarnog fajla bajt po bajt

[es] :: C/C++ programiranje :: Citanje binarnog fajla bajt po bajt

[ Pregleda: 1771 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

NetworkAdmin

Član broj: 4445
Poruke: 609
*.bbone.utic.net.ba.



Profil

icon Citanje binarnog fajla bajt po bajt05.12.2003. u 09:49 - pre 248 meseci
Ovo vjerujem vama zvuci trivijalno ali trebao bi da procitam ovaj file koji ima 1025 bajta i da bobijem array integer vrijednosti koje su u njemu upisane.

Fajl je zakacen u attacmentu uz ovu poruku ako neko hoce da proba. Pokusao sam ovako:

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

int main(void){

char datap[4096];
int m;
FILE * dataf;
  
  dataf = fopen ("igor4.mes", "rb");
  for (m=1; m < 1025; m++){
    read(datap, 1, 1, dataf);
  }


  fclose(dataf);
for (m=1;m<1025;m++) printf("%i\n",datap[m]);
}


Ali rezultat nije ono sto sam ocekivao i za razlicite fajlove dobijam uvijek isti izlaz...
Prikačeni fajlovi
 
Odgovor na temu

Dejan Lozanovic
Dejan Lozanovic
Beograd

Član broj: 691
Poruke: 2325
*.vdial.verat.net

Jabber: null@elitesecurity.org
Sajt: speedy-order.com


+75 Profil

icon Re: Citanje binarnog fajla bajt po bajt05.12.2003. u 10:38 - pre 248 meseci
Pa koliko vidim za sada ono sto je problem je da non stop pises u isti clan. Ako uopste pises i u njega umesto
Code:

read(datap, 1, 1, dataf);


pre bi trebalo da nesto ovako izgleda

Code:

read(&datap[i], 1, 1, dataf);


ili
Code:

char *pok;
pok=datap;
....
read(pok++, 1, 1, dataf);


Mada iskreno receno ja nisam siguran za parametre funkcije read, ono sto je read na unixu
Code:

#include <unistd.h>

ssize_t read(int fd, void *buf, size_t count);


gde je ono fd, fajl deskrtiptor kojeg dobijes sa open funkcijom. buf su podaci koji se upisuju, i count koliko ce bajtova procitati. a vracena vrednost je koliko je bajtova procitano i krece se od 0 do count.

 
Odgovor na temu

NetworkAdmin

Član broj: 4445
Poruke: 609
*.bbone.utic.net.ba.



Profil

icon Re: Citanje binarnog fajla bajt po bajt05.12.2003. u 10:53 - pre 248 meseci
Evo sam probao sa c++

Code:
#include <fstream.h>
#include <iostream.h>
#include <stdlib.h>
int main(void) {
    int m;
    char buffer[1025];
    ifstream myFile ("zoka.mes", ios::in | ios::binary);
    myFile.read (buffer, 1025);
    for (m=0; m<1025; m++){
        cout << buffer[m] << endl;
    }
    return 0;
}


Ne radi kako bi trebaovjerovatno zeza encoding...
 
Odgovor na temu

idb
Ivan Bulic
Beograd

Član broj: 4436
Poruke: 402



Profil

icon Re: Citanje binarnog fajla bajt po bajt05.12.2003. u 12:39 - pre 248 meseci
Mozda ti ovo resi problem:
Code:
// Windows2000, Dev-Cpp 4.9.8.4
#include <iostream>
#include <fstream>
using namespace std;

int main (int argc, char *argv[]) {
   char buffer[1025];
   ifstream is ("IGOR4.MES", ios::binary );
   is.read (buffer,1025);
   is.close();
  
   for (int i=0;i<1025;i++)    cout<<(int)(buffer[i])<<"\t";
   system("PAUSE");
   return 0;
}

Ja na izlazu dobijem:

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 57 58 58 61 64 64 64 68
70 70 72 71 74 74 74 75 77 78 79 79 80 81 84 85 85 88 90 90
90 90 93 94 94 95 96 98 100 99 101 101 104 104 106 107 109 109 111 112
112 112 114 114 115 115 116 115 116 116 115 114 112 109 107 104 104 105 105 105
104 103 101 99 96 91 87 82 77 70 64 58 51 45 38 32 26 19 14 8
2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0


 
Odgovor na temu

[es] :: C/C++ programiranje :: Citanje binarnog fajla bajt po bajt

[ Pregleda: 1771 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.