返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C++中简单的文本文件输入/输出示例详解
  • 507
分享到

C++中简单的文本文件输入/输出示例详解

2024-04-02 19:04:59 507人浏览 八月长安
摘要

为了便于理解,我们把cout 用于控制台输出时的一些情况和写入到文本文件的情况进行类比: cout 控制台输出 包含头文件 iOStream 头文件 iostream 定义了一个 o

为了便于理解,我们把cout 用于控制台输出时的一些情况和写入到文本文件的情况进行类比:

cout 控制台输出

包含头文件 iOStream

头文件 iostream 定义了一个 ostream 类用于处理输出

头文件 iostream 声明了一个名为 cout 的 ostream 对象

指明名称空间 std

可以结合使用cout和运算符<<来显示各种类型的数据

文本文件输出(写入到文本文件)

包含文件头 fstream

头文件 fstream 定义了一个ofstream 类用于处理输出

声明一个或多个 ofstream 对象,可以自由命名

指明名称空间 std

把 3 中声明的 ofstream 对象与文件关联起来,比如使用 open()方法

使用完文件后,需要使用 close()方法将其关闭

还可以结合 ofstream 对象和运算符<<来输出各种类型的数据

注意:cout 控制台输入输出中,头文件 iostream 声明了一个名为 cout 的 ostream 对象,无需自己手动声明;文件输出中,我们必须自己动手声明一个 ofstream 对象,为其命名,将其同文件关联起来。请看下面的例子:


#include<fstream>
ofstream OutFile;   //声明一个 ofstream 对象
OutFile.open("study.txt");  //将OF与“study.txt”文件关联起来

下面请看一个完整的程序,用户输入信息,将信息显示到屏幕上,再将这些信息写入到文本文件中:


#include <iostream>
#include <fstream>
using namespace std;
int main()
{
    char name[20];
    double height;
    double weight;
    ofstream outFile;//创建了一个ofstream 对象
    outFile.open("infORMation.txt");//outFile 与一个文本文件关联
    cout<<"Enter name: ";
    cin.getline(automobile, 20);
    cout<<"Enter height: ";
    cin>>year;
    cout<<"Enter weight: ";
    cin>>weight;

    // cout 控制台输出前面输入的信息
    cout<<fixed;
    cout.precision(2);
    cout.setf(ios_base::showpoint);
    cout<<"Make and Model: "<<automobile<<endl;
    cout<<"Year: "<<year<<endl;
    cout<<"Was asking $"<<a_price<<endl;
    cout<<"Now asking $"<<d_price<<endl;

    // outFile 把信息写入到文本文件
    outFile<<fixed;    //小数点格式显示double
    outFile.precision(2);    //设置精度
    outFile.setf(ios_base::showpoint);    //强制显示小数点后的零
    outFile<<"Name: "<<name<<endl;
    outFile<<"Height: "<<height<<endl;
    outFile<<"Weight: "<<weight<<endl;
    outFile.close();    //使用完文本文件后要用close()方法将其关闭
    return 0;
}

接下来,我们再把cin 用于控制台输入时的一些情况和读取文本文件的情况进行类比:

cin 控制台输出

包含头文件 iostream

头文件 iostream 定义了一个 istream 类用于处理输出

头文件 iostream 声明了一个名为 cin 的 istream 对象

指明名称空间 std

可以结合使用cin和运算符>>来输入各种类型的数据

文本文件输入(读取文本文件)

包含文件头 fstream

头文件 fstream 定义了一个ifstream 类用于处理输出

声明一个或多个 ifstream 对象,可以自由命名

指明名称空间 std

把 3 中声明的 ifstream 对象与文件关联起来,比如使用 open()方法

使用完文件后,需要使用 close()方法将其关闭

还可以结合 ifstream 对象和运算符>>来读取各种类型的数据

可以用 cin 和 get() 方法来读取一个字符,或用 cin 和 getline() 方法来读取一行字符

可以结合使用 ifstream 和 eof()、fail()方法来判断输入是否成功

如果试图打开一个不存在的文件用于输入将会导致后面使用 ifstream 对象读取数据时发生错误,因此用户需要使用 is_open() 方法检查文件是否被成功打开,如下:


#include <fstream>
#include <cstdlib>
ifstream InFile;
InFile.open("information.txt");
if(!Infile.is_open()){
    exit(EXIT_FAILURE);
}

如果文件被成功打开, is_open() 方法将返回 true , exit()的原型在头文件 cstdlib 中被定义,exit(EXIT_FAILURE) 用于终止程序。

下面请看一个完整的程序,用户打开指定的文本文件,读取文件中的 double 类型数据,并在控制台输出所读取数据的数目、总和以及平均数:


#include <iostream>
#include <fstream>
#include <cstdlib>
using namespace std;
const int SIZE = 60;
int main()
{
    char fileName[SIZE];
    ifstream InFile;
    cout<<"Enter the name of data file: ";
    cin.getline(fileName, SIZE);
    cout<<fileName<<endl;
    InFile.open(fileName);
    if(!InFile.is_open()){
        cout<<"Could not open the file "<< fileName <<endl;
        cout<<"Program terminating.\n";
        exit(EXIT_FAILURE);
    }
    double value;
    double sum = 0.0;
    int count = 0;
    InFile >> value;
    while(InFile.Good()){      
        ++count;
        sum += value;
        InFile >> value;
    }
    if (InFile.eof())
        cout<<"End of file reached:\n";
    else if (InFile.fail())
        cout<<"Input terminated by data mismatch.\n";
    else
        cout<<"Input terminated for unknown reason.\n";
    if(count == 0)
        cout<<"No data processed.\n";
    else{
        cout<<"Items read: "<<count<<endl;
        cout<<"Sum: "<<sum<<endl;
        cout<<"Average: "<<sum/count<<endl;
    }
    InFile.close();
    return 0;
}

总结

到此这篇关于c++中简单的文本文件输入/输出的文章就介绍到这了,更多相关C++文本文件输入/输出内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: C++中简单的文本文件输入/输出示例详解

本文链接: https://lsjlt.com/news/160306.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • C++中简单的文本文件输入/输出示例详解
    为了便于理解,我们把cout 用于控制台输出时的一些情况和写入到文本文件的情况进行类比: cout 控制台输出 包含头文件 iostream 头文件 iostream 定义了一个 o...
    99+
    2024-04-02
  • Java中输入输出方式的简单示例
    目录概述 一、输出到控制台(一)、基本语法(二)、代码示例(三)、格式化字符串二、从键盘输入1、使用 Scanner 读取字符串/整数/浮点数2、输入数据类型的方法3、注意事项:总结...
    99+
    2024-04-02
  • python基本文件操作(文件输入和输出
    文件输入输出中常用的文件对象方法:open : 返回一个新的文件对象,调用该对象的上的方法可对文件进行任何操作readline: 读取一行数据包括结尾的换行符在内write: 将数据写入文件中close: 关闭文件对象; 举例:读取E盘中的...
    99+
    2023-01-31
    文件 操作 python
  • java文件操作输入输出结构详解
    目录一、实验目的二、实验代码1.使用Java的输入输出2.使用RandomAccessFile流将一个文本文件倒置读出3.请分别使用不带缓冲区和带缓冲区的字节流复制图片(或者音频或者...
    99+
    2024-04-02
  • Java中简单的输入输出语句
    Java中简单的输入输出语句 一、输入语句 1.使用Scanner类 使用步骤: (1)导包 import java.util.Scanner; 这一步是必须要做的!!! (2)使用Scanner创建...
    99+
    2023-10-24
    java 算法 数据结构
  • Java简单从文件读取和输出的实例
    用Scanner输入,用PrintStream输出功能:从in.txt读入,输出到out.txt代码:和下面的一样package ioTest;import java.io.*;import java.util.Scanner;public...
    99+
    2023-05-31
    java 读取 文件
  • vue实现At人文本输入框示例详解
    目录知识前置需求分析实现创建能够输入文本的文本框添加at功能后记知识前置 基于vue手把手教你实现一个拥有@人功能的文本编辑器(其实就是微信群聊的输入框) Selection&nbs...
    99+
    2024-04-02
  • C++的输入和输出流详解
    目录输入和输出流标准输入流小案例标准输出流文件读写总结输入和输出流 从键盘输入数据,输出到显示器屏幕。这种输入输出称为标准的输入输出,简称标准I/O。 从磁盘文件输入数据,数据输出到...
    99+
    2024-04-02
  • C++输入和输出流的示例分析
    这篇文章给大家分享的是有关C++输入和输出流的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。输入和输出流从键盘输入数据,输出到显示器屏幕。这种输入输出称为标准的输入输出,简称标准I/O。从磁盘文件输入数据...
    99+
    2023-06-29
  • 图文详解Java中的字节输入与输出流
    目录字节输入流 字节输入流结构图FileInputStream类构造方法:常用读取方法:字节输出流 字节输出流结构图:FileOutputStream类构造方法:常用写入方法:总结字节输入流 java.io.InputStream抽象类是...
    99+
    2017-02-14
    java字节输入流和输出流 java文件输入输出字符流 java字节流
  • 解读torch.nn.GRU的输入及输出示例
    目录一、输入到GRU的参数①input的shape②h_0的shape二、GRU返回的数据①output②h_n三、代码示例四、输出总结我们有时会看到GRU中输入的参数有时是一个,但...
    99+
    2023-01-28
    torch.nn.GRU输入 torch.nn.GRU输出
  • c语言文件输入输出的方法是什么
    C语言文件的输入输出方法主要通过标准库函数来实现。文件的输入输出主要涉及以下几个函数:1. fopen函数:用于打开一个文件,并返回...
    99+
    2023-08-08
    c语言
  • response文件流输出文件名中文不显示的解决
    目录文件流输出文件名中文不显示使用如下方法没有解决解决方法response下载时中文文件名乱码文件流输出文件名中文不显示 response返回文件流 用response.setHea...
    99+
    2024-04-02
  • Shell脚本对文件中的行、单词、字符进行迭代输出示例
    在进行文本文件进行处理时,对文件件中的行、单词、字符进行迭代和遍历是非常常用的操作。而将一个简单的循环用于迭代,再加上来自stdin或文件的重定向,这就是对文件中的行、单词、和字符进行迭代的基本方法。 废话...
    99+
    2022-06-04
    示例 脚本 单词
  • JAVA语言的输入输出流详解(c)
    详解b中的例子,详解[@more@]  1. BufferedReader是Reader的一个子类,它具有缓冲的作用,避免了频繁的从物理设备中读取信息。它有以下两个构造函数:BufferedReader(Reader in) Buffere...
    99+
    2023-06-03
  • C++之IO类,文件输入输出,string流练习题
    目录前面已经在用的IO库设施IO类IO对象不能拷贝或赋值条件状态管理输出缓冲文件输入输出fstream特有的操作文件模式string流stringstream特有的操作练习练习1练习...
    99+
    2024-04-02
  • 一文带你了解Python中的输入与输出
    目录Python输入补充:命令行输入Python输出print()输出format()格式化输出总结Python输入 在Python中,使用内置函数input()可以接收用户的键盘输...
    99+
    2023-05-18
    Python输入与输出 python样例输入与样例输出 python输入与输出总结
  • pygame实现中文输入框的示例
    目录1.效果2.源码3.用法注意: pygame2.0已经支持输入法了,本文的方法仅供参考 为了解决pygame不能输入中文的问题,就写了一个中文输入框 1.效果 2.源码 以下...
    99+
    2024-04-02
  • Ruby迭代器及文件的输入与输出
    目录前言Ruby 迭代器Ruby each 迭代器语法实例Ruby collect 迭代器语法实例Ruby 文件的输入与输出puts 语句实例gets 语句实例putc 语句实例pr...
    99+
    2023-05-15
    Ruby 迭代器输入与输出 Ruby文件输入与输出
  • java 对象输入输出流读写文件的操作实例
    java 对象输入输出流读写文件的操作实例java 支持对对象的读写操作,所操作的对象必须实现Serializable接口。 实例代码:package vo; import java.io.Serializable; public cl...
    99+
    2023-05-31
    java
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作