c++-关于C++中文件输入输出流作为函数参数传递的问题

问题描述

关于C++中文件输入输出流作为函数参数传递的问题
今天学习C++输入输出流的时候,遇到一个问题,先贴代码:

void foutput (ofstream &fout, int m) {
    for (int i=1;i<=m;i++) {
        fout << i*i+0.5;
    }
}

上面这个函数的参数中用了一个ofstream类的变量,在下面使用的时候就发现不能直接把ofstream类的实体用到函数中,编译会出错。然后,我把“ofstream fout”变成“ofstream &fout”,也就是用了引用,编译就通过了,不知道这是为什么。谢谢回答先

解决方案

不用引用,当调用foutput(...)的时候就会复制一个新的ofstream 对象。

实现上, Linux gcc, 将ofstream的基类basic_ios的复制构造函数定义为私有函数,这样禁止对ofstream对象的复制。

实际来说,ofstream对应的是一个输出文件,支持复制构造会出乱子。

时间: 2016-09-21

c++-关于C++中文件输入输出流作为函数参数传递的问题的相关文章

java 文件输入输出流-关于文件输入输出流的问题,我的实现不了

问题描述 关于文件输入输出流的问题,我的实现不了 import java.io.*; public class Test01 { public static void main(String args[]) throws IOException { BufferedReader sin=new BufferedReader(new InputStreamReader (System.in));//键盘输入流 String str=sin.readLine(); File f=new File("

关于java中的输入输出流的问题,新手求教,谢谢

问题描述 关于java中的输入输出流的问题,新手求教,谢谢 import java.io.*; public class Filetest3 { public static void main(String[] args) { // TODO Auto-generated method stub File file=new File("word.txt"); try{ FileOutputStream out=new FileOutputStream(file); byte mybyt

文件输入输出流-&amp;gt;带缓冲的输入输出流(过滤流)-&amp;gt;基本数据的输入输出流 链接 增强了文件输入输出流的功能

 /* 流的链接  文件输入输出流->带缓冲的输入输出流(过滤流)->基本数据的输入输出流   链接 这样的好处是增强了文件输入输出流的功能  例如 我们只用文件流不能直接对文件写入 int  char  float 等类型的数据 但是我们吧这三个流连接起来 就增强了流的功能 下面通过代码 实现   FileOutputStream   BufferedOutputStream   DataOutputStream    链接对文件输出流进行写       FileInputStream  

C++风格的文件输入输出流

输出主要由重载的左移操作符(<<)来完成,输入主要由重载的右移 操作符(>>)完成. >>a表示将数据放入a对象中. <<a表示将a对象中存储的数据拿出. 接下来我们继续看一 下C++风格的串流控制,C++引入了ostringstream.istringstream. stringstream这三个类,要使用他们创建对象就必须包含sstream.h头文件. istringstream类用于执行C++风格的串流的输入操作. stringstream类同时可以支

Java中数据输入输出流——DataInputStream和DataOutputStream

一.基本概念 DataOutputStream 数据输出流允许应用程序以适当方式将基本 Java 数据类型写入输出流中.然后应用程序可以使用数据输入流将数据读入. DataOutputStream 数据输入流允许应用程序以与机器无关方式从底层输入流中读取基本 Java 数据类型.应用程序可以使用数据输出流写入稍后由数据输入流读取的数据.对于多线程访问不一定是安全的. 线程安全是可选的,它由此类方法的使用者负责.   二.例子 /** * 必须先使用DataOutputStream写入数据,然后使

java实现输入输出流代码分享_java

1,编写一个程序,读取文件test.txt的内容并在控制台输出.如果源文件不存在,则显示相应的错误信息. package src; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; public class Test { public static void main(String[] args) { File f =

C++中输入输出流及文件流操作总结_C 语言

本文实例为大家分享了C++中输入输出流及文件流操作笔记,供大家参考,具体内容如下 1.流的控制     iomanip          在使用格式化I/O时应包含此头文件.     stdiostream   用于混合使用C和C + +的I/O机制时,例如想将C程序转变为C++程序 2.类继承关系 ios是抽象基类,由它派生出istream类和ostream类, iostream类支持输入输出操作,iostream类是从istream类和ostream类通过多重继承而派生的类 类ifstrea

Java输入输出流和文件操作

操作系统中的文件和目录概念 文件与文件系统 文件是信息的一种组织形式,是存储在外部存储介质上的具有标志名的一组相关信息集合. 文件系统用文件概念来组织和管理存放在各种介质上的信息.文件系统提供目录机制实现文件的"按名存取". 目录结构与文件检索 目录是文件系统组织和管理文件的基本单位,目录中保存它所管理的每个文件的基本属性信息(成为文件目录项或文件控制块).除了文件外,目录中还可以包含子目录和文件,子目录中还可以再有子目录和文件,由此构成目录的多级树状结构.文件是这种树状结构的叶子节点

C++中重载输入和输出流对象

问题描述 C++中重载输入和输出流对象 重载输入和输出流对象,可以输入一个学生的信息和输出一个学生的信息:并将学生信息存入文件中. 解决方案 参考:http://blog.csdn.net/jarvischu/article/details/6628559