文件管理 · 2023年8月9日

c写入文件|c语言中怎么把一个结构体数组写入文件

⑴ c语言中怎么把一个结构体数组写入文件

C语言把一个结构体数组写入文件分三步:

1、以二进制写方式(wb)打开文件

2、调用写入函数fwrite()将结构体数据写入文件

3、关闭文件指针

相应的,读文件也要与之匹配:

1、以二进制读方式(rb)打开文件

2、调用读文件函数fread()读取文件中的数据到结构体变量

3、关闭文件指针

参考代码如下:

#include<stdio.h>structstu{charname[30];intage;doublescore;};intread_file();intwrite_file();intmain(){if(write_file()<0)//将结构体数据写入文件return-1;read_file();//读文件,并显示数据return0;}intwrite_file(){FILE*fp=NULL;structstustudent={"zhangsan",18,99.5};fp=fopen("stu.dat","wb");//b表示以二进制方式打开文件if(fp==NULL)//打开文件失败,返回错误信息{printf("openfileforwriteerror");return-1;}fwrite(&student,sizeof(structstu),1,fp);//向文件中写入数据fclose(fp);//关闭文件return0;}intread_file(){FILE*fp=NULL;structstustudent;fp=fopen("stu.dat","rb");//b表示以二进制方式打开文件if(fp==NULL)//打开文件失败,返回错误信息{printf("openfileforreaderror");return-1;}fread(&student,sizeof(structstu),1,fp);//读文件中数据到结构体printf("name="%s"age=%dscore=%.2lf",student.name,student.age,student.score);//显示结构体中的数据fclose(fp);//关闭文件return0;}

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

(1)buffer:指向结构体的指针(数据首地址) (2)size:一个数据项的大小(一般为结构体大小)(3)count: 要写入的数据项的个数,即size的个数 (4)stream:文件指针。

⑵ 怎么把c语言编的程序的结果输入到一个文本文件中

c语租如旦言编橡局的程序的结果输入到一个文本文件中可以使用fprintf;

例:

#include<stdio.h>

main(){

FILE *fpt;

fpt = fopen("wendangming.txt","w");//打开文档弊扰,写入

fprintf(fpt,"Hello world");

fclose(fpt);

}

(2)c写入文件扩展阅读

它打开一个文本文件,逐个字符地读取该文件

#include <iostream>

#include <fstream>

using namespace std;

int main()

{

fstream testByCharFile;

int num;

char c;

testByCharFile.open("6.5.cpp",ios::in);

while(!testByCharFile.eof())

{

testByCharFile >> c;

num++;

}

testByCharFile.close();

cout << num << endl;

}

⑶ c语言写入文件方法

对于学号来说int 或是char的影响不是很大,没关系至于读取数据方面我同意二楼的解释

⑷ C语言如何写入文本文件

1、首先输入下方的代码

#include <stdio.h>

int main()

{

//下面是写数据,将数字~9写入到data.txt文件中

FILE *fpWrite=fopen("data.txt","w");

if(fpWrite==NULL)

{

return 0;

}

for(int i=0;i<10;i++)

fprintf(fpWrite,"%d ",i);

fclose(fpWrite);

//下面是读数据,将读到的数据存到数组a[10]中,并且打印到控制台上

int a[10]={0};

FILE *fpRead=fopen("data.txt","r");

if(fpRead==NULL)

{

return 0;

}

for(int i=0;i<10;i++)

{

fscanf(fpRead,"%d ",&a[i]);

printf("%d ",a[i]);

}

getchar();//等待

return 1;

}

⑸ c语言怎么将数据写入文件

利用VC软件通过代码书写就可以将数据写入文件。