fstream - wczytanie binarnie struktury
Ostatnio zmodyfikowano 2015-09-15 14:04
txter Temat założony przez niniejszego użytkownika |
fstream - wczytanie binarnie struktury » 2015-09-14 22:46:11 Plik wczytałem tak: ifstream fin( filename, ios::binary );
Gdy chciałem wczytać np. liczbę typu integer robiłem to tak: int dana; fin.read( reinterpret_cast < char *>( & dana ), sizeof( int ) );
Ale jak wczytać dane do całej struktury np. struct JakasStruktura { int a; char string[ 1024 ]; };
Problem z tym, że nie da się rzutować do char*. Wiem, że funkcją fread() tak się da, tyle że musiałbym mieć zmienną typu FILE* - kodu sporo, więc jest mi nie na rękę aby edytować to wszystko. |
|
mateczek |
Dlaczego nie da się rzutować do *char?? » 2015-09-15 07:59:09 Co jest nie tak w tym kodzie rzutowania ?? int main() { JakasStruktura a; char * t =( char * ) & a; }
|
|
Monika90 |
» 2015-09-15 09:55:34 Co jest nie tak w tym kodzie rzutowania ?? |
Ano to, że używa rzutowania w stylu C. |
|
mateczek |
» 2015-09-15 10:28:36 Po prostu zaciekawiło mnie dlaczego autor napisał iż nie da rzutować ?? Co jest przyczyną takiego stwierdzenia o niemożności rzutowania?? akurat w przypadku gdy chce potraktować obiekt jako strumień bajtów. To chyba proste rzutowanie, (ustawienie wskaźnika na pierwszy bajt obiektu), jest właśnie spełnieniem założenia. |
|
txter Temat założony przez niniejszego użytkownika |
» 2015-09-15 14:04:30 Czyli po prostu użyć prostego rzutowania bez kombinowania? Ok. |
|
« 1 » |