当前位置: 网学 > 编程文档 > PHP > 正文

php读取二进制流(C语言结构体struct数据文件)的深入解析

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 13/06/18
$i += $length) {
$bianbian = unpack("$format", $data);
//reference传递是php 5才支持的,如果用php4,得用其他办法
foreach ($bianbian as &$value) {
if (is_string($value)) {
$value = strtok($value, "\0");
}
}
print_r($bianbian);
}
?>

pack应该跟unpack相反。
顺便附上生成结构体文件的C语言代码:
复制代码 代码如下:
#include <stdio.h>
#include <string.h>

struct example
{
char name[10];
char pass[33];
int age;
unsigned char flag;
};

int main()
{
example test;
example read;
FILE *fp;

test.age = 111;
test.flag = 10;
strcpy(test.name, "Hello World!");
strcpy(test.pass, "zbl110119");

fp = fopen("file.dat", "w+");
if (!fp)
{
printf("open file error!");
return -1;
}

rewind(fp);
fwrite(&test, sizeof(example), 1, fp);

rewind(fp);
fread(&read, sizeof(example), 1, fp);

printf("%d, %s\n", read.age, read.name);

fclose(fp);
return 0;
}

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号