99问答网
所有问题
C语言while (fread(&shangpin, sizeof(struct sp), 1, fp) == 1)
初学请解释一哈这句话,谢谢啦..
还有每次找1一个sizeof(struct sp),系统是怎么把struct中的一个区分出来的呢,还有它查找的顺序又是怎么搞 都
举报该问题
推荐答案 推荐于2016-06-15
fread()成功的
返回值
就是参数里读取的数据块个数,你这里就是1;
while(。。。 ==1)的意思就是只要从文件里读取数据块成功,就继续执行读取操作直到文件末尾或读取错误。
sizeof(struct sp)返回值就是sp这个
结构体
的大小,没明白你问“结构体中的一个是什么意思”struct sp是一个类型,就像 int 或 char 一样的。
在这个地方可以不用sizeof(struct sp), 用sizeif(shangpin) 来替换。即待写入的结构体变量占空间大小。
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://99.wendadaohang.com/zd/z7eOWeeXz.html
其他回答
第1个回答 2012-01-10
第一个参数是要写的变量的首地址。
第二个参数是要写的变量的大小。
第三个参数是要写的变量的个数
第四个参数是要读的文件的指针
返回值是读取成功的变量的个数。
对一个固定的结构类型来说,它的数据大小是固定的,所以可以根据其大小来区分是否读了一个数据。
如果你不用其他语句改变文件指针的位置的话,fread是从文件开始依次读数据的。
相似回答
C语言
怎么修改一段数据或删除
答:
参考:void update(FILE *
fp)
{ struct score_record sr; char key[10]; printf("\n请输入要修改成绩的学生学号或姓名:" ); scanf("%s", key); fseek(fp, 0, SEEK_SET);
while(fread(&
sr,
sizeof(
sr
),
1,
fp)
==
1)
{ if(strcmp(sr.ID, key) == 0 |...
如何用
C语言
来制作翻译器
答:
while (tmp) { fwrite(tmp
,sizeof(
mapping),1,fp); tmp = tmp->next; } fclose(fp); return 0;}int loadDictionary(mapping **head){ FILE* fp; mapping tmp; if ((fp = fopen(DICTIONARY, "r")) == NULL){ return 1; }
while(fread(&
tmp,sizeof(mapping
),1,fp)==1)
{ if(!*head) ...
C语言fread(
p
,sizeof(struct
person
),1,fp)
的问题?
答:
而是从
fp
指向的文件中,读取一个 size
of
(struct person)大小的数据,存到p指向的内存中。
C语言
学生成绩管理系统:
fread(&
stu[i]
,sizeof(
STU
),1,fp)
?
答:
fread
读取数据,需要满足:1 fwrite写进去的 2 文件写入模式是wb ab wb+ ab+ 3 stu没有采用字节对齐 才能用你这个方法读回来。--- 如果你是文本写入的,要用fscanf读回来才行,而且fscanf使用的参数必须与文件里面的格式对应才行。--- 这是个匹配的问题,你要把写入文件的代码也贴上来,解决起来...
c语言fread(
p
,sizeof(struct
stu
),1,fp)
;求大神解答 为啥读取数据时会出...
答:
不知道要干嘛,改变以后也没有释放f(free)多出来的堆空间。
while(
feof(fp)!=1) 这里应该是想读到文件末尾为止,feof(fp)有两个返回值:如果遇到文件结束,函数fe
of(fp)
的值为非零值,否则为0。所以这里最好写while(fe
of(fp)==
0),因为你无法它确定就是返回1,但0是确定的。
c语言
文件操作fwrite和
fread
答:
fread
是
C语言
标准为中的一个函数。它从一个文件流中读数据,最多读取count个元素,每个元素
size
字节,如果调用成功返回实际读取到的元素个数,如果不成功或读到文件末尾返回 0。fwrite是C语言标准库中的一个函数,指向文件写入一个数据块。示例如下://读取一个完整的文件#include <stdio.h>#include <...
fread(&
stu[studentshu]
,sizeof(
student
),1,fp)
!
=1
是什么意思?
答:
从
fp
这个文件指针流里读取student这个
结构体
所占的字节数,赋给stu这个结构体数组的studentshu这个元素。
if
(fread(&
s[i]
,sizeof(struct
stu
),1,fp)==1)
什么意思
答:
从文件指针
fp
读取一个size为
sizeof(struct
stu)的数据,存入s[i],if用来判断读取是否成功
用C++
语言
编写一个简单的“学生成绩管理系统”
答:
return 1; } else{ printf("\t\t\t学生成绩如下:\n"); printf("\t\t\t学号\t\t姓名\t语文\t数学\t英语\t总评\n"); rewind(fp);
while(fread(&
stu
,sizeof(struct
stuType
),1,fp))
{ /*每读取一个长度的数据就输出*/ printf("\t\t\t%s",stu.NO); printf("\t%s",stu.XM); printf...
大家正在搜
struct student
sizeof(float)
strlen sizeof
sizeofstruct
malloc sizeof
sizeof函数和strlen
sizeof(char)
sizeof和strlen的区别
sizeofint
相关问题
if(fread(&s[i],sizeof(struct s...
c语言fread(p,sizeof(struct stu),...
While(fread(&file[x],sizeof(st...
C语言fread(p,sizeof(struct perso...
if(fread(&s[i],sizeof(struct s...
请问fread(&b,sizeof(int),1,fp)这边...
这是什么意思fread(&zhigong[i],sizeof...