C语言关于fwrite函数的问题

如题所述

第1个回答  2019-05-19
fwrite就是写入用的函数,fread和fwrite用于读写各种类型的数据块
第一个参数是读写数据的内存区的指针,
第3个是项数,
第2个是每一项的大小,
第4个是文件指针
fwrite返回写出的项数,不出错就等于要写的项数,
所以他判断是否和1相等来判断出错
他这里的(struck
address_list)应该用sizeof(struck
address_list)
不用fopen打开fwrite也没法写入,
"wb"是指定fopen的怎样打开文件,
文件如过不存在,r出错,
a生成,并且写入的数据都被添加到文件尾,w也生成
第2个回答  2019-03-06
if后面多了个分号,去掉就行了,有了分号if内的就是空语句,printf也一定会执行了···
if(fwrite(&stud[i],sizeof(struct
student),1,p)!=1);
printf("输入有误,请重新输入!\n");

C语言关于fwrite函数的问题
fwrite就是写入用的函数,fread和fwrite用于读写各种类型的数据块 第一个参数是读写数据的内存区的指针,第3个是项数,第2个是每一项的大小,第4个是文件指针 fwrite返回写出的项数,不出错就等于要写的项数,所以他判断是否和1相等来判断出错 他这里的(struck address_list)应该用sizeof(struck address_li...

c语言中fwrite的问题
int c=fread(xxx, 10,10, fp), c有没有可能<100但是>0。 有可能。所以可以 通过 c 是否等于 100 来判断 是否成功,是否合理, 并采取措施。例如,有一个题目,是读入1个文件,平均地拆成3个文件输出,再读入这3个文件,合成1个文件。因为文件的字节总数,未必是3 的倍数,所以 想读的个...

C语言fwrite()函数以二进制形式写入文件
C语言中的fwrite()函数确实用于以二进制形式向文件写入数据,但这个事实并不意味着用文本编辑器打开文件后,内容会直接以二进制格式呈现。实际上,大多数文本编辑器默认是以ASCII或UTF-8等文本格式解析文件内容,而非二进制。当你使用fwrite()将二进制数据写入文件时,文件中存储的是原始的二进制位,每个...

c语言fwrite函数没办法想文件写入数据,每次都会执行printf("\\t\\t\\t...
建议更换文件名,比如myusers.bin,或myusers.dat。另外,因为使用fwrite()函数建立的文件,格式应该是二进制文件,所以打开格式应该为"wb",因为"w"是"wt"的缩写。

C语言fwrite()问题。
应该是这种情况:你输入“hell0 world”时因为有间隔,导致你从流中写入到你的a变量中其实只有hello这几个字符,因为它是以空格结束,最后读出来的其实就是你写进去的hello加上a中剩余元素的值,如果你的a中的元素先都初始化为0,那么就不会出现乱码了。要获取一行需要getline吧 ...

C语言 fwrite输入问题
C语言 fwrite输入问题 #include<stdio.h>#include<stdlib.h>#defineN2structstudent_type{charname[10];intnum;intage;charaddr[15];}stud[N];voidsave(){FILE*fp;inti;if((fp=fopen("C:\/\/stu.dat","wb"))=... #include<stdio.h>#include<stdlib.h>#define N 2struct student_type { char name[...

c语言fwrite函数及地址的问题
fwrite(&wdata,sizeof(char),1,filedir); \/\/这句话的意思就是 把wdata这个地址中的内容,放入到filedir中,大小是sizeof(char) 个数是1 这句话的意思就是向文件中写数据的 不赞同,Parthas这个人的回答,他的“所以这个是将0xa5这个字符写入filedir指向的文件中。”这句话是有错的...

c语言 fwrite函数 是插入还是覆盖
fwrite函数是覆盖而不是插入。只要打开文件时知名支持写操作,那么使用fwrite函数时均是覆盖模式,而不会插入。即在当前位置写入数据,后续数据并不会依次后移,而是直接覆盖。比如,如果文件中有数据123456789,在3的位置写入字符abc,那么结果为 12abc6789。如果要实现插入效果,可以将后续数据读到内存,然后...

c语言fwrite函数输出名字n次?
在C语言中,fwrite()函数用于将数据写入文件。如果你想要将某个名字写入文件n次,你可以使用一个循环来实现这个功能。以下是一个示例代码,它将名字"John Doe"写入文件"names.txt"中10次:include <stdio.h> int main() { FILE *file = fopen("names.txt", "w");if (file == NULL) { pri...

c语言第一次弄fwrite,但是运行后我打开文件看里面是空的。为什么
fwrite (&s, sizeof(s), 100, pFile );} 这么写正常的话是应该输入 100 次的.之所以一次就退出是因为 fwrite (&s, sizeof(s), 100, pFile ); &s 应该是 s[i]. s本身已经是指针了.错误导致 再按任意键结束了。 没有 fclose 所以文件里什么都没有....

相似回答
大家正在搜