C语言fwrite怎么写入文件?

C语言fwrite怎么写入文件?,第1张

C语言fwrite写入文件可以参考以下的代码:

// 定义一个学生结构体

struct Student_type

{

char name[10]

int num

int age

char addr[30]

}stud[40]

int i

FILE *fp  // 定义一个文件指针fp

fp = fopen("stu.dat", "wb")  // 以二进制可写方式打开stu.dat文件

// 将40个学生的记录写入文件stu.dat中

for(i=0 i<40 i++)

fwrite(&stud[i], sizeof(struct Student_type), 1, fp)

扩展资料:

fwrite函数用法

size_t fwrite(const void* buffer, size_t size, size_t count, FILE* stream)

返回值:返回实际写入的数据块数目

1、buffer:是一个指针,对fwrite来说,是要获取数据的地址

2、size:要写入内容的单字节数

3、count:要进行写入size字节的数据项的个数

4、stream:目标文件指针

5、返回实际写入的数据项个数count

说明:写入到文件的哪里与文件的打开模式有关,如果是w+,则是从file pointer指向的地址开始写,替换掉之后的内容,文件的长度可以不变,stream的位置移动count个数;如果是a+,则从文件的末尾开始添加,文件长度加大。

fseek对此函数有作用,但是fwrite函数写到用户空间缓冲区,并未同步到文件中,所以修改后要将内存与文件同步可以用fflush(FILE *fp)函数同步。

参考资料来源:百度百科-fwrite

将if((fp=fopen("e:\\文件读写.txt","r"))==NULL)中的判断条件改成 if(fp==NULL)就行,因为你前面已经定义了fp=fopen("e:\\文件读写.txt","w")是以写方式打开文件,所以再判断中无需再添加以读方式打开文件了,这样就不会空了。

# include <stdio.h>

# include <stdlib.h>

int main ()

{

FILE *fp

fp=fopen("e:\\文件读写.txt","w")

if(fp==NULL)//注意不要将==写成=号,文件的路径是“磁盘:\\文件夹\\文件名.格式”

{

printf("无法打开“文件读写.txt”\n")

exit(1)

}

else

printf("文件已成功打开,可以写入数据了。\n")

fputc('H',fp)

fputs(" Hello World",fp)

fclose(fp)

return 0

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/7928090.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-11
下一篇 2023-04-11

发表评论

登录后才能评论

评论列表(0条)

保存