88问答网
所有问题
c语言中怎样读取未知结构体存入的信息
由于结构体存入的数据有填充子节,不知道结构体的长度,怎么读取他的内容
举报该问题
推荐答案 2010-05-07
用强制转换类型的方法读取,例如:若该结构体存放的地址为a;
由于不知道具体占了多少字节,我们就读自己需要的字节吧,例如读100个字节出来:
unsigned char buf[100],i,*p;
p=(unsigned char *)a;
for(i=0;i<100;i++)
buf[i]=p[i];
这样100个字节就都复制到buf里了
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://88.wendadaohang.com/zd/MVMVVct1B.html
相似回答
C语言
对
结构体
文件
的读取
答:
C语言中对结构体数据格式文件进行读取时,
必须以二进制格式打开文件,然后按结构体类型变量内存块方式进行数据读取
,相关读数据命令为fread()。函数说明:include <stdio.h> size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);从stream文件流中,读取nmemb个size大小的数据块到ptr...
C语言中
,将多个
结构体
数据写到一个文件中,应该
如何读取
?
答:
C语言
把一个
结构体
数组写入文件分三步:1、以二进制写方式(wb)打开文件2、调用写入函数fwrite()将结构体数据写入文件3、关闭文件指针相应的,读文件也要与之匹配:1、以二进制读方式(rb)打开文件2、调用读文件函数fread()
读取
文件中的数据到结构体变量3、关闭文件指针参考代码如下:include<stdio.h>s...
C语言中
,用fscanf
如何
从文件中
读取结构体
数据
答:
..如此往复
读取
。--- 如果是二进制文件,可以用fread读定长数据,直接存到
结构体
中 int fread( void *buffer, size_t size, size_t num, FILE *stream );//buffer结构体指针,//size结构体长度 //num一般指定为1 //stream文件流
C语言
单向链表
中如何
往文件
里存入
数据和
读取
数据?
答:
,1,fd);\x0d\x0a\x0d\x0a//
读取
第k个
结构体
\x0d\x0astruct student rstu;\x0d\x0aFILE *fd=fopen("
c
:\\test.bin","rb");//打开\x0d\x0afseek(fd,k*sizeof(struct student),SEEK_SET);//定位\x0d\x0afread(&rstu,sizeof(struct student),1,fd);//读取 ...
C语言
将
结构体
数据
存入
文件中,再
读取
文件中
的
数据,可是读取不了,
答:
把wenjian函数中的for(...前面一句fp=...删除。把readfile函数中的while的()中的fscanf控制字符串最后的\n删除。然后试一下再说。
C语言
:从一个二进制文件
中读入结构体
数据,并把结构体数据显示在终端屏幕...
答:
FILE *f sizeof(struct rec)r.num,r.total
C语言中如何
实现对
结构体的
查找以及输出?
答:
C语言的结构体
是一组数据的组合,并不是简单的单一类型。所以在查找和输出的时候,均不能直接操作,而是要进行变通。1 查找。对于以某一项为关键字进行查找时,比如在结构体中有int型的成员a,要查找a为100的结构体变量,这时需要遍历每个结构体(数组、链表、或者其它任意形式),对每个元素的成员a值...
c语言中如何
用子函数调用
结构体
中的变量实现数据的输入与输出。_百度...
答:
方法1:void型不传值传址调用与声明。main中声明void date_in(),void date_pout()。函数定义前一定在main()前先定义
结构体
变量(全局变量),然后定义输入或输出程序段。此时再main()调用即可。如下:struct student { char name[20];int old;char sex;}stu;void date_in();void main(){ date...
大家正在搜
c语言对结构体的读取与写入
c语言结构体输入学生信息
c语言读取结构体
c语言文件读取结构体
c语言结构体读取文件求成绩
c语言结构体输入数据
c语言怎么调用结构体函数
c语言向文件写入结构体数组
c语言将结构体数据写入文件