首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

C 语言文件操作 ( 将结构体写出到文件并读取结构体数据 | 将结构体数组写出到文件并读取结构体数组数据 )

文章目录 一、将结构体写出到文件并读取结构体数据 二、将结构体数组写出到文件并读取结构体数组数据 一、将结构体写出到文件并读取结构体数据 ---- 写出结构体 : 直接将结构体指针指向的 , 结构体大小的内存..., 写出到文件即可 ; // 要写入文件的结构体 struct student s1 = {"Tom", 18}; // 将结构体写出到文件 fwrite(&s1,...); // 打开失败直接退出 if(p == NULL) return 0; // 将结构体写出到文件 fwrite(&s1, 1, sizeof (...return 0; } 执行结果 : 写出的文件字节数为 24 , 20 字节的字符串数据 , 4 字节 int 值 ; 二、将结构体数组写出到文件并读取结构体数组数据 ---- 保存结构体数组.../student.dat", "w"); // 打开失败直接退出 if(p == NULL) return 0; // 将结构体写出到文件 fwrite

2.4K20

C 语言文件操作 ( 学生管理系统 | 命令行接收数据填充结构体 | 结构体写出到文件 | 查询文件的结构体数据 )

文章目录 一、学生管理系统 二、代码示例 一、学生管理系统 ---- 前两篇博客 【C 语言文件操作 ( 将结构体写出到文件并读取结构体数据 | 将结构体数组写出到文件并读取结构体数组数据 ) 【...C 语言文件操作 ( 读取文件的结构体数组 | feof 函数使用注意事项 ) , 将结构体 ( 数组 ) 数据写入到了文件 , 然后又从文件读取 结构体 ( 数组 ) 并打印出来 ; 之前写入..., 读取的 结构体 ( 数组 ) 的个数都是固定的 , 本篇博客实现从命令行接收结构体数据 , 然后保存到文件 ; 做一个简单的学生管理系统 , 手动将学生数据录入到文件 ; scanf 函数原型...; 使用结构体成员接收上述变量 , 然后写出到文件 , 就实现了从命令行接收数据 , 写出到文件 ; 二、代码示例 ---- #include /* 定义结构体, 存储一个字符串和年龄...input %s's age:\n", s1.name); // 命令行阻塞等待用户输入学生年龄 scanf("%d", &s1.age); // 将结构体写出到文件

65810
您找到你想要的搜索结果了吗?
是的
没有找到

C语言文件操作_C语言调用文件

文章目录 文件打开与关闭 文件读写操作 读/写文件的字符串 格式化读写文件操作 文件定位函数 作业使用案例(自己可以全部完成一遍): 文件打开与关闭 C文件操作用库函数实现,包含在stdio.h。...= '#') { fputc(ch, fp); //字符被写入filename表示的文件 putchar(ch); //字符被输出到显示器 ch = getchar...(); } putchar(10); // 向屏幕输出一个换行符 fclose(fp); } return 0; } 例如:将一个磁盘文件的信息复制到另一个磁盘文件。...: int fprintf (文件指针,格式控制串,输出表列); 所在头文件: 函数功能:把输出列表的数据按照指定的格式输出到文件。...C语言规定的起始位置有三种,分别为文件开头、当前位置和文件末尾,每个位置都用对应的常量来表示: 例如:把位置指针移动到离文件开头100个字节处: fseek(fp, 100, 0);

9.4K10

C语言文件操作

本文介绍了C语言中关于文件操作的内容知识,内容较为生涩,没有理解可以多次观看 ---- ---- 一、为什么使用文件 我们在写代码的过程,有的时候某一些数据我们是想把它保存下来的,而不是说只有在程序运行的时候...我们最常见到的就是将数据从标准输入流(键盘)输入,显示到标准输出流(屏幕、也就是显示器) 其实有时候我们会将数据输出到磁盘文件上,当需要的时候,再将数据从磁盘文件拿出来,这时我们就必须学会在程序如何操作文件...,在我们使用完毕之后要关闭文件 ANSI C规定使用fopen和fclose函数来打开和关闭文件,下面是fopen和函数fclose的介绍 我们打开文件的方式,C语言规定有以下几种:...根据数据的组织形式,我们将数据文件分为文本文件和二进制文件 数据在内存以二进制的形式存储,如果不加转换的输出到外存,那就是二进制文件,如果我们将数据的形式转换为ascll码的话,那就是文本文件 值得注意的是...)用 来 将 上 一 个 函 数 发 生 错 误 的 原 因 出 到 标 准 错误 (stderr) 。

3.8K10

C语言文件操作

什么是文件 在程序设计,我们谈到的文件一般有两种(从文件功能的角度来分类):程序文件、数据文件 2.1 程序文件 程序文件包括源程序文件(后缀为.c)、目标文件(Windows环境下后缀为.obj,linux...数据在内存以二进制的形式存储,如果不加转换地输出到外存的文件,就是二进制文件。 如果要求在外存上以ASCII码的形式存储,则需要在存储前进行转换。以ASCII字符的形式存储的文件就是文本文件。...C程序针对文件、画面、键盘等的数据⼊输出操作都是同流操作的。 一般情况下,我们要想向流里写数据,或者从流读取数据,都是要打开流,然后操作。...4.1.2 标准流 在C语言程序启动时,会默认打开三个流: ·stdin——标准输入流,在大多数的环境从键盘输入 ·stdout——标准输出流,在大多数环境出到显示器界面 ·stderr——...stdin、stdout、stderr三个流的类型是:FILE*,通常被称为文件指针。 C语言中,就是通过FILE*的文件指针来维护流的各种操作的。

10610

C语言——文件操作

什么是文件 文件一般分为两:程序文件、数据文件 而我们讨论的重点则是数据文件 2.1 程序文件 包括源程序文件(后缀为.c),目标文件(windows环境后缀为.obj),可执行程序(windows...文件的打开和关闭 3.1 文件指针 每个被使用的文件都在内存开辟了一个相应的文件信息区,用来存放文件的相关信息.这些信息是保存在一个结构体变量的。...文本文件和二进制文件 文本文件和二进制文件 数据在内存以二进制的形式存储,如果不加转换的输出到外存,就是二进制文件。 外存上以ASCII码的形式存储,则需要在存储前转换。...文件缓冲区 ANSIC 标准采用“缓冲文件系统”处理的数据文件的,所谓缓冲文件系统是指系统自动地在内存为程序每一个正在使用的文件开辟一块“文件缓冲区”。...return 0; } 因此因为有缓冲区的存在,C语言在操作文件的时候,需要做刷新缓冲区或者在文件操作结束的时候关闭文件

5410

C语言 | 读写文件

“要成为绝世高手,并非一朝一夕,除非是天生武学奇才,但是这种人…万无一” ——包租婆 这道理放在C语言学习上也一并受用。...C语言怎样向文件读写字符 fgetc函数 调用形式:fgetc(fp) 功能:从fp指向的文件读入一个字符。 返回值:读成功,带回所读的字符,失败则返回文件结束标志EOF(即-1)。...C语言怎样向文件读写一个字符串 fgets函数 调用形式:fgets(str,n,fp) 功能:从fp指向的文件读入一个长度为(n-1)的字符串,存放到字符数组str。...C语言用格式化的方式读写文件文件进行格式化输入输出时,要用fprintf函数和fscanf函数,作用与printf函数和scanf函数相仿,都是格式化读写函数。...一般形式 fprintf(文件指针,格式字符串,输出表列); fscanf(文件指针,格式字符串,输入表列); C语言用二进制方式向文件读写一组数据 C语言允许用fread函数从文件读一个数据块,用

3.6K30

C语言 文件操作

例如10000的存储         而且VS上也可以打开二进制文件         文件的打开和关闭          流和标准流         流         程序的数据需要输出到各种外部设备...C程序针对⽂件、画⾯、键盘等的数据⼊输出操作都是通过流操作的。 ⼀般情况下,我们要想向流⾥写数据,或者从流读取数据,都是要打开流,然后操作。         ...标准流          C语言程序在启动的时候,默认打开 stdin stdout stderr三个流,分别是标准输入流,标准流, 标准错误流.        ...stdin,由键盘输入 scanf就是从标准输入流读取数据         stdout标准输出流,大多数的环境输出给显示器,printf就是输出         stderr输出到显示器        ...它们都是 file* 文件指针         文件指针         缓冲文件系统,关键的概念是"文件类型指针",简称"文件指针"         每个被使用的文件都在内存开辟了了一个文件信息区

8310

C语言文件操作

C 语言文件看作是一个字符(字节)的序列,即由一个一个字符(字节)的数据顺序组成。根据数据的组织形式,可分为 ASCⅡ 文件和二进制文件。...\n"); exit(1);//结束程序的执行 } 要说明的是:C 语言将计算机的输入输出设备都看作是文件。例如,键盘文件、屏幕文件等。...所指文件读取下一个字符 } //完成将fp所指文件的内容输出到屏幕上显示 fclose(fp); //关闭fp所指文件 } 3.2 写一个字符到文件中去 3.2.1 函数原型 int...3.2.3 参数说明 ch:是一个整型变量,内存要写到文件的字符(C 语言中整型量和字符量可以通用)。 fp:这是个文件指针,指出要在其中写入字符的文件。...但是在二进制文件 -1 往往可能是一个有意义的数据,因此不能用它 来作为文件的结束标志。为了能有效判别文件是否结束,ANSI C 提供了标准函数 feof(),用来识别文件是否结束。

12.7K11

C语言——文件操作

fgetc fgetc()函数是C语言标准库的一个函数,用于从指定的文件读取一个字符 int fgetc(FILE *stream); 其中,stream为指向FILE类型的指针,指向要读取的文件流...char *fgets(char * 4.fputs fputs是C语言中的一个函数,用于将一个字符串写入到指定的文件,将一个字符串输出到指定的文件,通常用于向文件写入数据。...0; } 5.fscanf scanf函数是C语言标准库的一个函数,用于从文件读取格式化输入。...6.fprintf fprintf函数是C语言中的一个标准函数, 用于将数据按照一定的格式输出到文件。...如果想将字符串输出到文件,只需要将 stdout 替换为自定义的文件指针即可。 7.fread read() 函数是用于从文件读取二进制数据(如图像,音频等)的标准C函数。

9510

C语言文件操作

但是在程序设计,我们一般谈的文件有两种:程序文件、数据文件(从文件功能的角度来分类的) 2.1 程序文件 程序文件包括源程序文件(后缀为.c,.java),目标文件(windows环境后缀为.obj)...int ch = fgetc(pf);//将文件的一个字符读取到ch,然后文件指针往后移动 printf("%c\n", ch); ch = fgetc(pf); printf("%c\n...数据在内存以二进制的形式存储,如果不加转换的输出到外存,就是二进制文件。 如果要求在外存上以ASCII码的形式存储,则需要在存储前转换。...如有整数10000,如果以ASCII码的形式输出到磁盘,则磁盘占用5个字节(每个字符一个字节),而二进制形式输出,则在磁盘上只占4个字节(int类型的整数)(VS2013测试)。...这里要结论: 因为有缓冲区的存在,C语言在操作文件的时候,需要做刷新缓冲区或者在文件操作结束的时候关闭文件。 如果不做,可能导致读写文件的问题

4K20

C语言文件操作

一、什么是文件 在程序设计,我们一般谈的文件有两种:程序文件、数据文件(从文件功能的角度来分类的)。 1....其实有时候我们会把信息输出到磁盘上,当需要的时候再从磁盘上把数据读取到内存中使用,这里处理的就是磁盘上文件。 二、文件的打开和关闭 1....文件指针 每个被使用的文件都在内存开辟了一个相应的文件信息区,用来存放文件的相关信息(如文件的名字,文件状态及文件当前的位置等)。这些信息是保存在一个结构体变量的。...,屏幕,网络等等这种外部设备时,对于程序员来说要求太高了,所以抽象出一种 ‘流’ 的概念,程序员只需要把数据写到’ 流 '里面去,至于‘流’的数据如何传到外部设备,我们不需要关注; 在C语言程序,会默认打开...八、 文件缓冲区 从内存向磁盘输出数据会先送到内存的缓冲区,装满缓冲区后才一起送到磁盘上。

9710

C语言读写文件

文件写入 1、字符写入:fputc(); //参数1:写入的字符 //参数2:文件流 //作用:将单个字符写入到文件 //返回值:成功时,返回写入字符的ascii码值,错误返回EOF(-1) int...//作用:将字符串写入文件 //返回值:返回一个非负值,如果发生错误则返回 EOF(-1)。...//参数2:指定的格式控制字符串 //参数3:各种输出项,与格式控制字符串的字段一起写到文件 //返回值:执行成功返回实际写入文件的字符个数;执行失败,返回负数 //作用:用来将输出项按指定的格式写入到指定的文本文件...\n"); return 0; } char c; while((c = fgetc(file)) !...//参数2:存储数据的大小 //参数3:要读取的文件流 //返回值:成功则返回读取的buf,失败则返回NULL,这是,buf的数据不确定 //作用:读取指定场长度的字符串存到字符数组

3.3K30

C语言文件操作

一、为什么要使用文件 我们每次写的程序都是存储在内存的,程序结束内存就会回收,数据就会丢失,如果想长久的保存数据,就要用到文件 二、文件的概念 1、程序文件 包括 源文件 .c 目标文件 .obj...可执行程序 .exe 2、数据文件 文件的内容是程序运行时读写的数据 3、文件文件路径+文件名主干+文件后缀 三、二进制文件和文本文件 数据在内存以二进制形式存储,如果不转换直接输出到外存的文件...流是一种抽象的概念,是一条双向流向输入输出也就是系统和文本的河流,我们输入输出数据都要打开流后操作 标准流 在C语言程序启动时,默认打开了3个流 ①stdin-标准输入流,像使用scanf函数从键盘输入就是标准输入流的一种...②stdout-标准输出流,像使用printf函数将信息输出到桌面上就是标准输出流的一种 ③stderr-标准错误流,大多数环境出到显示器界面 它们三个流的类型是 FILE * ,通常称为文件指针...(程序变量等),缓冲区大小由C编译系统决定 今天就分享到这里了

7110
领券