C++读取txt文件中的逐个字符

为了增加读取的灵活性,所以separator和filename都设置为在主函数中获取输入或者在函数中传参的视线方法

举个例子,txt文件如下:

cpp 复制代码
household;2;true;

首先声明一个读取数据的文件

复制代码
void read_data_file(const string& filename,char separator)

seperate指的是间隔符,filename是文件名

读取文件代码固定的第一步就是(基本所有读取都可以加这段代码,增加了检查文件内容读取的错误。

别忘记加头文件

cpp 复制代码
#include <fstream>

#include <sstream>
cpp 复制代码
ifstream file(filename);

if(!file.isopen){
    cout << "Error: Unable to open file for writing."
}

下一步就是if(file.isopen)的内容

固定的定义一个string 为行

cpp 复制代码
string line;

当文件内所在行有内容时候

cpp 复制代码
while (getline(file, line)) {
            stringstream ss(line);
            string token;
            getline(ss, token, separator);
//token是读取的信息,比如我举例txt中的household,separator是分隔符,指读到;就停止

注意:token默认为字符串类型

cpp 复制代码
getline(ss, token, separator);

index = stoi(token);

再写一个getline,读取下一个sepator的内容。

我举例的文件下一个是2,类型为数字,所以要用到stoi(token) ,stoi是int\float都可以使用(我的代码是前边定义了index,可以改为其他想把他赋值的东西。

接下来是true,bool类型 我的上一篇博客有讲到

所以字符串、数字、布尔类型的读取都有了就可以任意读取想要的信息了!

另外 小数的个数可以用

cpp 复制代码
setprecision(2)

包含在头文件中

cpp 复制代码
#include <iomanip>

效果如图

相关推荐
世转神风-5 分钟前
qt-float转QByteArray-二进制存储-数据存储(IEEE 754标准)
开发语言·qt
linksinke6 分钟前
在windows系统上搭建Golang多版本管理器(g)的配置环境
开发语言·windows·golang
Dream it possible!9 分钟前
LeetCode 面试经典 150_回溯_单词搜索(104_79_C++_中等)
c++·leetcode·面试·回溯
59803541513 分钟前
【java工具类】小数、整数转中文小写
android·java·开发语言
superman超哥13 分钟前
仓颉语言智能指针深度实战:突破 GC 与所有权的边界
c语言·开发语言·c++·python·仓颉
cike_y13 分钟前
Mybatis之作用域(Scope)和生命周期-解决属性名和字段名不一致的问题&ResultMap结果集映射
java·开发语言·数据库·tomcat·mybatis
捻tua馔...14 分钟前
mobx相关使用及源码实现
开发语言·前端·javascript
八月的雨季 最後的冰吻22 分钟前
FFmepg-- 39-ffplay源码-ffplay 播放器中视频输出和尺寸变换
c++·音视频
AuroraWanderll32 分钟前
类和对象(四):默认成员函数详解与运算符重载(下)
c语言·数据结构·c++·算法·stl
微爱帮监所写信寄信33 分钟前
微爱帮监狱寄信写信小程序与焦作邮政系统对接技术方案
开发语言·网络协议·小程序·https·php·监狱寄信