C++ 课设,关于I/O流文件操作和数据存写的问题

C++课程设计要求编写一个学生成绩管理系统,
我定义了学生类和课程类,由于每个学生所修课程数可能不一样,这样就会有多个课程类的对象,这里我用了数组。问题在于向文件读和向文件写的操作中,课程数目是不一样的,应该怎么存和写呢?谢谢
PS:问一个可能会遭人鄙视的问题,输出流函数write()和输入流函数read()可以存对象吗?(比如把学生类的对象存进文件里)

0

4个回答

每个课程类的大小应该是一样的吧。就像往文件里写结构体一样、一把写进去,你的程序输出文件如果是一个学生一个,就可以把这个学生选了几门课做一个计数、写在文件开头,在读取文件的时候就可以先读取一个int,然后再读取课程信息啦

1
2

c++对象要想能写入。读取从文件中。需要c++对象支持序列化和反序列化。也就是你的程序已规则写入文件。而读取的时候能够根据内容反向转换回来对象等。

1
sunc14
sunc14 请问这块知识的关键词是啥,能分享一下相关链接或是资料吗,谢谢
接近 4 年之前 回复
0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
C语言:文件I/O操作
C语言读写文件的步骤一般是: 创建或打开文件 > 读或写文件 > 关闭文件 当然读或写的过程中还可以通过操作当前文件偏移量来控制读写位置。 下面分别介绍这些函数: 头文件: #include <fcntl.h> //此头文件定义了以下oflag O_RDONLY //只读0 O_WRONLY //只写1 O_RDWR //读写2...
使用File I/O类实现文件的读写操作
流区分: 未经加工的原始二进制数据叫字节流,经一定编码处理后符合某种格式规定的特定数据是字符流,Java中的字符是Unicode编码,一个字符占用两个字节。什么Input,Output就是字节流,什么Reader,Writer当然就是字符流啦。 什么时候用字节流?什么时候用字符流? 如果是音频文件、图片、歌曲,就用字节流好点, 如果是关系到中文(文本)的,用字符流好点。 什么时候用字节流,...
JAVA实验报告(文件的输入输出流 (I/O))
实验内容 1. 键盘输入10个整数,从小到大进行排序。 2. 接收键盘输入的字符串,用FileInputStream类将字符串写入文件,用FileOutputStream类读出文件内容显示在屏幕上。 3. 将一个文本文件的内容按行读出,每读出一行就顺序加上行号,并写入到另一个文件中。 package test;import java.util.Scanner;public class test1 ...
C++ 课设,关于I/O流文件操作和数据存写的问题
C++课程设计要求编写一个学生成绩管理系统,n我定义了学生类和课程类,由于每个学生所修课程数可能不一样,这样就会有多个课程类的对象,这里我用了数组。问题在于向文件读和向文件写的操作中,课程数目是不一样的,应该怎么存和写呢?谢谢nPS:问一个可能会遭人鄙视的问题,输出流函数write()和输入流函数read()可以存对象吗?(比如把学生类的对象存进文件里)
java中I/O流之File文件操作类学习总结
一、具体内容   java.io包中保存了所有的IO操作的类(原始提供的类),而在整个IO包中核心的就是五个类,一个接口 文件操作类:File; 流操作类:InputStream、OutputStream、Reader、Writer; -一个接口:Serializable。 二、File的基本操作   在整个java.io包中,File类是唯一一个与文件本身操作有...
C++之文件I/O操作流
文件指存放在外部介质上的数据的集合。大家都知道操作系统是以文件为单位来对数据进行管理的。因此如果你要查找外部介质的数据,则先要按文件名找到指定文件,然后再从文件中读取数据,如果要把数据存入外部介质中,如果没有该文件,则先要建立文件,再向它输入数据。由于文件的内容千变万化,大小各不相同,为了统一处理,在C++中用文件流的形式来处理,文件流是以外存文件为输入输出对象的数据流。输出文件流表示从内存流向外...
不带缓存的文件I/O操作
我们知道在嵌入式Linux中一切皆为文件,主要有这几种文件:-表示的普通文件;d表示的目录文件;l表示的链接文件;c表示的字符设备;b表示的块设备;p表示的管道文件,如FIFO文件;f表示的堆栈文件,如LIFO。        不带缓存的文件I/O操作主要用到6个函数creat、open、read、write、lseek和close。这里的不带缓存是指每一个函数都只调用系统中的一个函数,这些函数
第五章 标准I/O库 课后练习题
习题5.1 用setvbuf实现setbuf/************************************************************************* > File Name: mysetbuf.c > Author: Dennis > Mail:wdennis051@gmail.com > Created Time: 2
C++(笔记)文件操作练习(流类库与输入输出)
1、什么叫做流?流的提取和插入是指什么?I/O流在C++中起着怎样的作用? 解: 流是一种抽象,它负责在数据的生产者和数据的消费者之间建立联系,并管理数据的流动,一般意义下的读操作在流数据抽象中被称为(从流中)提取,写操作被称为(向流中)插入。操作系统是将键盘、屏幕、打印机和通信端口作为扩充文件来处理的,I/O流类就是用来与这些扩充文件进行交互,实现数据的输入与输出。 2、 cerr和c
c++中一些处理i/o流和文件流信息的方法总结
处理i/o流(cin, cout)1.处理缓冲区关于缓冲区的概念,看一个例子: #include <iostream> using namespace std; int main() { int a; cin >> a; cout << a << endl; cout << "press Enter to
Linux下文件操作 系统调用与标准I/O库
系统调用与标准I/O库一、系统调用概述UNIX系统的软件层次1.系统调用是操作系统提供给用户程序的一组“特殊”接口。2.Linux的不同版本提供了两三百个系统调用。3.用户程序可以通过这组接口获得操作系统(内核)提供的服务。例如:用户可以通过文件系统相关的系统调用,请求系统打开文件、关闭文件或读写文件。4.系统调用按照功能逻辑大致可分为:       进程控制、进程间通信、文件系统控制、系统控制、...
【IO流、文件操作】-常见面试题
io流1. java中有几种类型的流?jdk为每种类型的流提供了一些抽象类以供继承,请说出他们分别是那些类?2. 字节流有字符流的区别?3. 简单介绍一下io流?4.输入流和输出流?5. IO流的分类?6. 什么叫缓冲区? 有什么作用? 1. java中有几种类型的流?jdk为每种类型的流提供了一些抽象类以供继承,请说出他们分别是那些类? 2. 字节流有字符流的区别? 字节流操作的最基本的单元是...
《I/O流》java文件读写操作
参考博客:https://blog.csdn.net/zzp_403184692/article/details/8057693 ![I/O流关系图片](https://img-blog.csdn.net/20180604000357940?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW9qaWFucGFuNjY2/font/5a6L5L2T...
C++ IO流的概念及流类库、文件操作
IO流的概念及流类库当程序与外界进行信息交换时,存在两个对象,一个是程序中的对象,另一个是文件对象。 流是信息流动的一种抽象,它负责在数据的生产者和数据的消费者之间建立联系,并管理数据的流动 流对象与文件操作 程序建立一个流对象 指定这个流对象与某个文件对象建立连接 程序操作流对象 流对象通过文件系统对所连接的文件对象产生作用 提取与插入
Java中的高级I/O流-缓冲流、数据流以及对象流
Java中的高级I/O流-缓冲流、数据流以及对象流 前言:通过前面的学习,已经学完了Java中的基本流;Java中的流有字节流和字符流两大类,而每一种流都有对应的输入和输出流; 1、字节流 1.1字节输入流-主要是:FileInputStream   1.2字节输出流-主要是:FileOutputStream 2、字符流 2.1字符输入流-主要是:FileRea
文件的I/O流操作
每日小知识: 什么是I/O? I/O输入/输出(Input/Output),分为IO设备和IO接口两个部分。 在POSIX兼容的系统上,例如Linux系统[1],I/O操作可以有多种方式,比如DIO(Direct I/O),AIO(Asynchronous I/O,异步I/O),Memory-Mapped I/O(内存映射I/O)等,不同的I/O方式有不同的实现方式和性能,在不同的应用中...
I/O流——对象和类入门
I/O指的是程序的输入和输出。输入可自键盘或者一个文件中获得,输出可以发送至屏幕或文件。 1、 流和基本文件I/O       流(stream)是一个由字符(或者其他类型的数据)构成的“流(flow)”。如果流向程序,就成为输入流,如果流出程序就成为输出流。       文件I/O 从一个文件获取输入,称为读取文件,将输出发送给文件成为写入文件。输入文件流(input-file s
使用转换流 解决I/O 读写文件乱码问题
 //指定输出流的编码格式 utf-8          OutputStreamWriter osw=new OutputStreamWriter(new FileOutputStream(&quot;utf_8.txt&quot;),&quot;UTF-8&quot;);          osw.write(&quot;神奇的我&quot;);          osw.close();     //指定输入流的编码格式 utf-8         ...
unix文件和i/o流
1. 关于unix文件结构 在unix/linux文件系统中,一切皆是文件,目录是文件,设备是文件,文件是文件......文件需要有文件的各项属性,在unix中,可以使用stat函数族来获取文件属性。使用stat函数获取的节点文件存储在struct stat *buf指向的内存中。     #include         int     fstat(int fildes, stru
第四十八讲 I/O流——常用IO流(数据流和内存操作流)
数据流 数据流是操作基本数据类型的流,分为数据输入流和数据输出流。下面分别来对它们进行介绍。 数据输入流 概述 数据输入流DataInputStream允许应用程序以与机器无关方式从底层输入流中读取基本Java数据类型。应用程序可以使用数据输出流写入稍后由数据输入流读取的数据。 数据输出流 概述 数据输出流DataOutputStream允许应用程序以适当方式将基本Java数据类型写入输出流中。然...
Java小程序-记事本(I/O文件流的小练习)
效果图:修改前所保存的文件:修改后所保存的文件:实现代码:com.ioDemo包package com.ioDemo; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileNotFoundException; import java.io.Fil...
文件I/O读写操作
在上一篇文章中,我简单讲述了如何进行打开文件操作。而在这一篇文章中,我将会对打开的文件进行操作。 在进行文件读写操作之前,需要了解一个缓冲区(buff)的概念,缓冲区是在内存中预留指定大小的存储空间用来对I/O的数据做临时存储,这部分预留的内存空间叫缓冲区。说白了就是内核把数据从文件中读出来,没地方放,只能在内存中开辟一块临时的空间去存放这个数据,直到这个数据再次被操作,这时候缓冲区中的数据就被...
C++中 I/O流总结
程序的输入是指把输入文件数据传送给程序,程序的输出是指从程序中把输出结果传送给输出文件。C++中输入输出大致上有以下三种: 1)标准I/O------对系统指定的标准设备的输入输出。(eg:从键盘输入数据,输出至显示器屏幕) 2)文件I/O------以外存磁盘(光盘等)文件为对象进行输入输出(eg:从磁盘文件读取数据,经处理后,数据输出到磁盘文件)。 3)串I/O(又称字符串输入输出)--
Java I/O流(1)——字符流操作
I/O流 按数据分为字节流和字符流(编码表,西方ASCII,中国gb2312扩容为gbk ——>统一为unicode ——>优化utf-8) 字符流是基于于字节流的,指定查什么表 按流向分为输入流和输出流。 常用基类:字节流 InputStream OutputStream     字符流 Reader  Writer 字符流,比较直观 1、数据的最常见体现形式是文件
简单的I/O流的读取与输入(上)
I/O流中的字节流的读取与输入 (用于读取写入二进制文件,如图片、声音、影响等类型文件) 1.对于文件的读取,输入流InputStream下的子类FileInputStream 有一个read()可以读取数据,read(byte[])这个方法需要传入一个参数 这个参数是一个byte型的数组,用于存储读取到的数据 2.把byte数组转化为string类型的数据方便使用 Str
简单实现I/O文件复制
package sxt1102; import java.io.*; public class Test { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub File file = new File("c:/pan.txt");
带缓存的流文件I/O操作
带缓存的流文件I/O操作
I/O流理解
I/O顾名思义,就是输入输出流,怎么理解呢?流是代表有方向的,在相对论中方向是需要和参照物做对比,输入输出流的参照物就是我们编写的java程序 输入流相当于给输入文件插上了一跟管子,这里的输入文件形式各异,可以是文件、键盘输入、网络等,称呼它为输入,是因为有数据输入到程序中来 输出流相当于给输出文件也插上了一根管子,称呼它为输出,是因为有数据从程序中输出出去
C语言--I/O文件操作【下】
I/O文件操作 这是C提供的另一种文件操作,它是通过直接存/取文件来完成对文件的处理,而上篇所说流式文件操作是通过缓冲区来进行;流式文件操作是围绕一个FILE指针来进行,而此类文件操作是围绕一个文件的&quot;句柄&quot;来进行,什么是句柄呢?它是一个整数,是系统用来标识一个文件(在WINDOWS中,句柄的概念扩展到所有设备资源的标识)的唯一的记号。此类文件操作常用的函数如下表,这些函数及其所用的一些符号在io...
Linux 文件操作——系统调用和标准I/O库
一、什么是文件 在讲述文件操作之前,我们首先要知道什么是文件。看到这个问题你可能会感觉到可笑,因为对于用过计算机的人来说,文件是最简单不过的概念了,例如一个文本是一个文件,一个work文档是一个文件等。但是在Linux中,文件的概念还远不止于这些,在Linux中,一切(或几乎一切)都是文件。文件包括很多的内容,例如:大家知道的普通文件是文件,目录也是一个文件,设备也是一个文件,管道也是一
java中关于I/O文件流的操作实现文件复制和打印功能
流文件是java中对文件操作的重要方式。其操作方式与其他java程序一样,通过调用方法实现。关于测试程序因为目的不同在这里不再添加。 文件复制这里不能对子文件进行复制,只能对一个文件中的数据进行操作,这是代码的漏洞。希望有人帮我改善一下,最好能对文件整体进行复制。 import java.io.BufferedInputStream;import java.io.BufferedOutputS
JAVA--I/O流实现文件的复制
这是我在下面练习的时候写的代码。主要是为了记忆吧。仅供参考 public void fileCopy1() throws Exception{ BufferedReader br= new BufferedReader( new InputStreamReader( new FileInputStream("d://file.txt"))); BufferedWriter bw=
I/O流操作记录
int len = 0; byte[] byte_value; while((len = InputStream.read(byte_value))!=-1){ //这里处理字节 } 当len=-1说明已经读完
C语言文件读写标准I/O库函数的相关操作
C语言文件的相关操作文件的介绍文件的打开和关闭字符读写函数字符串读写函数格式化的读写函数二进制的读写函数文件定位标准I/O是会分配缓存的。文件的介绍:1:文件的概念所谓“文件”是指一组相关数据的有序集合,这个数据集合有一个名称,叫做”文件”,如:源文件,目标文件,可执行文件,头文件,二进制文件,.java,.o,等等一系列文件 文件一般都是驻留在外部介质(磁盘中),在使用的时候才去将文件读
linux编程——I/O操作之文件基本读写
open/close函数 int open(const char *pathname, int flags); int open(const char *pathname, int flags, mode_t mode); int close(int fd); 常用参数 O_RDONLY(只读)、O_WRONLY(只写)、O_RDWR(读写) O_CREAT(若文件存在标志
【文件】不带缓存的文件I/O操作函数之creat、open
1、creat函数     creat函数用于建立文件。 函数的作用:创建一个文件 函数的原型: int creat(const char *pathname, mode_t mode); 头文件: #include #include #include 返回值:     成功:返回新的文件描述符     失败:返回-1 示例: #includ
通过java i/o流实现文件的读写功能
<br />从输入流中读取数据,保存到字节数组中,然后将字节数组中的数据写入到输出流中。
文件操作和I/O流操作的区别
1, open() is a system call fopen() is C library API 2, "open" operated directly on the device, while "fopen" does not. 3, When you open a file with "fopen", a tempoary  buffer will be created. for
Java进行I/O操作时正确关闭I/O流的代码示例
原文:https://blog.csdn.net/woshixuye/article/details/23546081 一、错误示例1 public void CopyFile () { FileReader fr = null; FileWriter fw = null; try { ...
Java中的IO(面试有时会问java io的问题)
深入分析Java I/O 工作机制 作者:egg 邮箱:xtfggef@gmail.com 微博:http://weibo.com/xtfggef 博客:http://blog.csdn.net/zhangerqing 论坛:http://www.qtlife.net(随便建了一个,方便大家一起交流!) IO是Java及众多编程语言很重要的一块,同时很多程序
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 关于大数据培训 python培训课