C++读取.txt文本文件操作
用C++读取.txt文本文件步骤如下:定义一个文件流对象、打开文件、读文件、关闭文件。
1.定义文件流对象
涉及文件操作的程序一般都会使用fstream类,所以要在程序开头包含头文件fstream。
一个文件流对象与一个输入文件相关联,定义一个文件流对象infile。
ifstream infile;
2.打开文件
一般将需要打开的文件放在源代码的同级工作目录下,这里以打开一个文件名为in的.txt文件为例。也可以用文件的绝对存储位置来指代文件。
infile.open("in.txt");
3.读文件
读文件会使用文件流对象infile的getline()方法,原型如下:
bool getline(char*, int, char='\n');
读文件前需要知道文件内容是如何组成的,比如文件是一行一个整数组成的,或者文件是由若干个小数以空格为间隔组成的,这会影响到getline()的参数设置。
一般使用一个字符数组去读取文件,每调用一次getline(),就对文件读取一次,文件的读写位置指针也随之移动。char*是字符数组名,int为单次读取的最大字符数,char表示每次读取以什么为间隔符,其缺省值为换行符'\n'。如果需要读的文件是以空格为间隔符,则需设定char=' '。
由于读出的为字符串,存储在字符数组char*中,还需要将字符串转化为需要的数据类型。可以使用string头文件的stoi(),stol(),stof()等函数来完成类型转换。
4.关闭文件
infile.close();
下面给出完整的代码示范。在in.txt文件中有10个整数,以空格为间隔符。设计程序读取这10个整数并存到数组num[10]中。
#include <iostream>
#include <fstream>
#include <string>
#include <cstdlib>
using namespace std;void main()
{char line[5];//字符数组,用于读取,这里假设每次读取的整数不超过4个字符int num[10];int i = 0;ifstream infile;infile.open("in.txt");//打开文件if (!infile){cout << "无法打开文件!" << endl;exit(1);}while (infile.getline(line, 5, ' ')){num[i] = stoi(line);//string to int,存放在数组num[10]中i++;}infile.close();//关闭文件
}
运行程序发现,虽然in.txt文件中最后一个数字后面没有空格,但是按照上述代码依然可以正常读取,所以以后设计程序也就不需要再单独关心最后一个数字的情况。
C++读取.txt文本文件操作相关推荐
- A.PHP读取txt文本文件并分页显示的方法
PHP读取txt文本文件并分页显示的方法 作者:TomRobert 字体:[增加 减小] 类型:转载 时间:2015-03-11 我要评论 这篇文章主要介绍了PHP读取txt文本文件并分页显示的方法, ...
- JavaScript之读取txt文本文件内容
读取txt文本文件内容. 代码: <!DOCTYPE html> <html lang="en"><head><title>文件读取 ...
- vba打开txt文件_VBA基础入门(34)读取txt文本文件
对于这样的txt文本文件,我们怎么一行一行去读取数据呢? #00001 65536 *00001 65536 说说常用的两种方法,一种是把txt文本文档读到Excel中,然后获取最大行数,做个循环来遍 ...
- C++文件操作——按行读取txt文本文件
我们经常在一些项目中需要处理文本文件的读取,比如按行进行文本读取操作 下面分别介绍按行读取文本的一些方法: (1).采用C语言中的fgets函数 USES_CONVERSION; //调用函数,T2A ...
- Python 读取txt文本文件
Python的文本文件的内容读取中,有三类方法:read().readline().readlines(),这三种方法各有利弊. read(): read()是最简单的一种方法,一次性读取文件的所有内 ...
- python中读取txt文本文件为类似excel表格的形式(包括用空格分割的文件)
在一些txt文件中,数据以类似表格的形式存在,如下图: 在处理这些数据的时候,我们想把它读取为类似与表格的行和列组成的文件.但是普通的txt文件读取操作readline() 和readlines()等 ...
- C#简单实现读取txt文本文件并分页存储到数组
最近做一个VR项目,需要把某个中草药的介绍信息分页显示到unity场景里然后用VR手柄切换信息. unity的脚本是c#,就先在本地写了个代码测试了一下,利用控制台测试输出,到时候拷贝函数过去再结合交 ...
- Qt写入读取txt文本文件
打开文件时,使用参数选择打开文件模式 模式 值 描述 QIODevice::NotOpen 0x0000 不打开 QIODevice::ReadOnly 0x0001 只读方式 QIODevice:: ...
- js读取本地文本文件,并生成Excel文件
一.原理 利用js中FileReader对象读取文件(FileReader是一种异步读取文件机制) 1. 创建fileReader对象 2. fileReader对象 读取不同文件调用的方法不同,所以 ...
- python写入、读取txt文本内容
python写入.读取txt文本内容 一. 写入txt文本文件 # 保存数据 def writeData(datalist,savepath):for data in datalist:with op ...
最新文章
- 机器学习数据整合+pandas方法astype、merge、drop、to_numeric、concat等
- 2、Ktor学习-自动重新加载;
- Qt中的模型视图设计模式
- 【公告】服务器升级完成
- WIN10 vnc 与Jeson ubuntu18.04 vncserver 远程控制的实现(亲测有效)
- 02、如何进行网站性能优化或怎么加快页面的加载速度
- 使用IShellView接口函数CreateViewWindow
- C#进阶之WebAPI(二)
- php 安装zip,php zip拓展安装
- 中国恒大、恒大物业在香港暂停交易
- SVD在推荐系统中的应用
- php 用什么缓存最好,在PHP中缓存中/大型数据集的一些最好的工具/策略是什么?...
- VALSE学习(八):矿视-轻量级深度模型的研究与实践
- Google Chrome Native Messaging开发实录(二)Chrome Extension扩展
- 简单调用exe的方法
- Spring Boot内嵌的tomcat日志
- java实现简单QQ登录界面
- 利用openssl之 htps服务端和客户端编写
- 【上班摸鱼系列】文字选择类游戏:《职员默示录 - 启》末日丧尸爆发,你,是什么下场!?...
- java 逆矩阵_用Java实现求逆矩阵
热门文章
- VS 2017番茄插件安装破解教程:visual assist
- Vulkan 学习笔记 day01 vulkan visuall studio配置测试
- 遗传算法(Genetic Algorithm,GA)实例详解
- 2018年程序员书单
- hiveSql获取日期时间
- 解压rar文件压缩包时出现“An error occurred while loading the archive”的解决办法
- 立创EDA库导入AD18的教程
- Rust手机端皮肤搜索、生成Rust专属名片、转盘概率模拟
- 使用spss进行系统聚类分析
- python安装使用pip安装numpy