C++中文件流的读写,在文件中录入相关对象数组信息,然后显示出来

问题描述

C++中文件流的读写,在文件中录入相关对象数组信息,然后显示出来

我想实现一个书籍的录入、修改、删除购买等一系列功能
定义了一个Book类
想实现将键盘上的信息录入到对象数组中,然后将对象数组中的信息写入到文本文件中,
所以定义了一个文件对象数组指针,用循环将Book中的对象与文件中对象相匹配
从而能够录入到文本文件中,修改时文本文件也同时修改,删除时文本文件中相应的信息也被删除
最后将实现这些功能后最新的book信息显示出来

--------我表达能力一直不怎么好,不知道大家听懂了没有==

解决方案

http://www.jb51.net/article/70568.htm
参考这个完整的例子。

解决方案二:

Book::inputbook(Book *b[])
{

cout<<"请按照指定顺序输入书籍信息:"<<endl;
cout<<"编号***********书名**********分类号**********作者**********出版社**********单价**********折扣**********数量"<<endl;

for(int i=0;i<N;i++)
{
    cout<<"Input book"<<i+1<<endl;

    cin>>(*b[i]).book_id>>(*b[i]).book_name>>(*b[i]).classify>>(*b[i]).author>>(*b[i]).publishing>>(*b[i]).singlePrice>>(*b[i]).discount>>(*b[i]).bookcount;
}

}
Book::readbook(Book *b[])
{
int j=0;
int i=0;
fstream *file[N];//定义一个文件指针对象数组
file[j]=new ofstream("书籍信息.txt",ios::ate);//以写的方式打开文本文件
if(!file[j])
{
cout<<"Cannot open the file."<<endl;
return 1;
}
for(j;j<N;j++)
{

    *file[j]<<(*b[i]).book_id<<(*b[i]).book_name<<(*b[i]).classify<<(*b[i]).author<<(*b[i]).author<<(*b[i]).publishing<<(*b[i]).singlePrice<<(*b[i]).discount<<(*b[i]).bookcount;
    i++;
}
*file[j].close;

}

解决方案三:

C++读写文件流
c++读写文件流
c++读写文件流

解决方案四:

我主要想知道我这么写到底对不对呢,能不能实现我要的功能 如果只是想知道对错, 你运行就行啊,看看效果

解决方案五:

建议楼主可以自己单步调试,查看每一步的结果
单步调试和设断点调试(VS IDE中编译连接通过以后,按F10或F11键单步执行,按Shift+F11退出当前函数;在某行按F9设断点后按F5执行停在该断点处。)是程序员必须掌握的技能之一。

解决方案六:

http://blog.csdn.net/hbyzl/article/details/44684633

时间: 2024-10-31 04:51:02

C++中文件流的读写,在文件中录入相关对象数组信息,然后显示出来的相关文章

Visual C#如何实现文件流式读写。

问题描述 VisualC#在System.IO命名空间中提供了一段文件读写控制的源代码:if(File.Exists(path)){//Createafiletowriteto.using(StreamWritersw=File.CreateText(path)){sw.WriteLine("Hello");sw.WriteLine("And");sw.WriteLine("Welcome");}} //Openthefiletoreadfrom

Python中使用不同编码读写txt文件详解

  这篇文章主要介绍了Python中使用不同编码读写txt文件详解,本文给出不同编码下的读写文件代码方法,需要的朋友可以参考下 代码如下: import os import codecs filenames=os.listdir(os.getcwd()) out=file("name.txt","w") for filename in filenames: out.write(filename.decode("gb2312").encode(&q

mfc c++ 读写log文件-mfc/c++ 读写log文件并可以显示到窗口

问题描述 mfc/c++ 读写log文件并可以显示到窗口 服务器多线程想把每个线程的运行过程(接受,发送,产生异常)记录到log文件中,如何创建和读取这个log文件. 解决方案 就是普通的文件读写被,可以把函数写成一个宏,参数就是当前代码行数和对应的错误字符串说明 解决方案二: http://www.cnblogs.com/mazhenyu/p/4139352.html

c++文件流输出-C++从文件中输出类时重复输出的问题

问题描述 C++从文件中输出类时重复输出的问题 #ifndef CLASSDEF_H#define CLASSDEF_H class MoneyData{public: int year; int month; int day; char remark[80]; char PI[40]; char BankAccount[20]; char form[15]; char direction[5]; double Change; double Cash; double Saving; static

ASP.NET 文件流下载多个文件问题

问题描述 开发一个新功能,点击导出按钮,去数据库查询然后导出5个excel文件:我采用的是NPOI导出:代码如下,点击导出的时候,页面增加查询动画.现在遇到俩个问题,第一:我循环导出2个以上文件无效,只导出一个:第二:调用js脚本隐藏界面查询动画无效:(去掉下面循环导出就没有问题)CFReportExportServiceCFES=newCFReportExportService();List<DataTable>list=CFES.GetCFReport("","

java中IO操作 利用文件流 过滤流对文件进行读写操作

/* 两种基本的流是:输入流(Input Stream)和输出流(Output Stream) .可从中读出一系列字节的对象称为输入流. 而能向其中写入一系列字节的对象称为输出流. System.out.println   中的 out 是 PrintStream 类对象   System类的静态成员可以向 输出流写入数据 System.in.read()     in 是InputStream类的成员 可以从键盘等输入设备读取字节数据  利用FileInputStream   FileOutp

详解C++编程中的文件流与字符串流_C 语言

C++文件流类与文件流对象 文件流是以外存文件为输入输出对象的数据流.输出文件流是从内存流向外存文件的数据,输入文件流是从外存文件流向内存的数据.每一个文件流都有一个内存缓冲区与之对应. 请区分文件流与文件的概念,不用误以为文件流是由若干个文件组成的流.文件流本身不是文件,而只是以文件为输入输出对象的流.若要对磁盘文件输入输出,就必须通过文件流来实现. 在C++的I/O类库中定义了几种文件类,专门用于对磁盘文件的输入输出操作. 除了标准输入输出流类istream.ostream和iostream

详解Delphi中用于读写的文件类型

一.旧pascal文件类型 用文件变量表示的文件类型,比如 F:text,F:File. 定义了三类:有类型,无类型,字符类型以及一些Delphi的文件操作函数.比如:AssignPrn,Writeln,这些文件类和Windows文件句柄不兼容 二.Windows文件句柄(handle) 面向对象的Pascal的文件句柄封装了Windows文件句柄类型,文件操作函数库则封装了Windows API函数,比如"Fileread"就是调用了Windows API数"ReadFil

C#中读写INI文件的方法

通常C#使用基于XML的配置文件,不过如果有需要的话,比如要兼顾较老的系统,可能还是要用到INI文件. 但C#本身并不具备读写INI文件的API,只有通过调用非托管代码的方式,即系统自身的API才能达到所需的目的. 对应读写的方法分别为GetPrivateProfileString和WritePrivateProfileString. GetPrivateProfileString中的各参数: lpAppName -- section的名称 lpKeyName -- key的名称 lpDefau