ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 

  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА














     АРХИВ :: Apache-Talk
Apache-Talk mailing list archive (apache-talk@lists.lexa.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [apache-talk] php's config



In <Pine.LNX.4.10.10001232330040.5613-100000@frodo.sharat.co.il> Stanislav 
Malyshev a.k.a Frodo (frodo@sharat.co.il) wrote:
VK>>> чтения из файла записи вроде struct { int a; char b[8]; long c;
VK>>> short int d[6]};

SF> class struct {
SF>     var $a;
SF>     var $b;
SF>     var $c;
SF>     var $d;

SF>     function struct() { // constructor
SF>             $this->a=1;
SF>             $this->b=range(1,8); // 8 integers
SF>             $this->c=100000;
SF>             $this->d=range(1,6); // 6 integers
SF>     }
SF> }

SF> $foo = new struct();

SF> $fp = fopen("file","w");
SF> fputs($fp,serialize($foo));
SF> fclose($fp);

SF> $fp = fopen("file","r");
SF> $bar = unserialize(fgets($fp,4096));
SF> fclose($fp);

SF> var_dump($bar);

Але. Может я и тупой, но я никак не могу понять - чем у тебя b от d отличается
(а b должна быть char b[8], в то время как d - short d[6]). И, кроме того,
кажется, serialize/unserialize еще "от себя" щедрой рукой всякого добавит ...
А задача состояла вовсе не в том, как подобную структуру сохранить и потом
считать, а в том, чтобы разобрать файл с заранее описанной структурой.
Как будто это очень просто делается где-то, кроме как в "C" (да еще нужно
учесть, что разные версии "C" могут иметь разные идеи о том, какой размер
у int'а и long'а, так что и в "C" это, в общем-то, не делается). Конечно
считать строку в 28 байт (если мы говорим об gcc для iX86) и разобрать ее
можно и в PHP и в Perl'е и в других скриптовых языках без проблем (даже в
bash'е :-)





=============================================================================
=               Apache-Talk@lists.lexa.ru mailing list                      =
Mail "unsubscribe apache-talk" to majordomo@lists.lexa.ru if you want to quit.
=       Archive avaliable at http://www.lexa.ru/apache-talk                 =



 




Copyright © Lexa Software, 1996-2009.