首页 > 编程语言 >C++ 读取文件及保留小数方法

C++ 读取文件及保留小数方法

时间:2022-11-20 21:36:05浏览次数:74  
标签:文件 eof C++ ifstream 小数 infile 读取

C++ 读取文件及保留小数方法

做图论作业时,需要从文件中读取整型数据。之前都是在标准输入输出流中读取和输出。今小记一下。

读取文件

使用文件流ifstream

最简洁的方法是使用文件流:

ifstream infile(filename)

假设 test.txt 文件中存放5 6

	ifstream infile("test.txt");
	int n, m;
	infile >> n >> m;

这样就可以实现读取文件中的内容了。

如果想读取至文件尾,则使用eof()方法:

	vector<int> tmp;
	while (!infile.eof()) {
		int n; 
		infile >> n;
		tmp.push_back(n);
	}

不过以下教程不推荐使用eof方法,因为它可能导致一次额外的迭代。不过我认为eof方法比较简单和通用,这个见仁见智。

如何用 C++ 从文件中读取整数

读取整行可以用getline(),以字符串形式存储:

	ifstream infile("tt.txt");
	string line;
	while (getline(infile, line)) {
		cout << line <<endl;
	}


保留小数

使用fixed结合setprecision(n)

头文件是 #include <iomanip>

setprecision(n) 控制保留n位有效数字

写一次,对之后的数字都有效:

	double t = 1.414; 
	cout << fixed << setprecision(2);
	cout << t <<endl; //输出1.41 
	double pi = 3.14159;
	cout << pi << endl; //输出3.14

标签:文件,eof,C++,ifstream,小数,infile,读取
From: https://www.cnblogs.com/zhuhr/p/16909605.html

相关文章

  • [排序算法] 快速排序 (C++) (含三种写法)
    快速排序解释快速排序QuickSort与归并排序一样,也是典型的分治法的应用。(如果有对归并排序还不了解的童鞋,可以看看这里哟~归并排序)❤❤❤快速排序的分治模式1、......
  • C++ 继承和派生的简单应用
    Father.h:#pragmaonce#include<iostream>#include<string>usingnamespacestd;classFather{public:Father();Father(conststring&name,intage);......
  • XML文件的写入和读取(解析)基于DOM4J工具
    这两天做了个天气的小应用,需要用到百度的天气api,获取到的信息是一个xml文档。所以就从网上查了一下相关的知识,就是关于怎么去解析出来xml文件的信息。先放一个我自己写的例......
  • C# 读取照片的EXIF信息
    一、使用MetadataExtractor读取EXIF信息1、NuGet中安装在NuGet中搜索并安装MetadataExtractor;2、包信息我安装后会有两个包:MetadataExtractor2.0.0和XmpCore5.1......
  • 利用xmake在c++项目中编译与调用webassmebly
    最近在尝试用webassembly替代lua作为c++程序的脚本。刚好xmake也支持了webassembly的编译。下面是踩坑记录。项目需要两个target:一个c++项目、一个webassembly项目。需要......
  • linux 多线程 c++2
    为了在用线程分离的时候保证即使主线程退出了,子线程还能正常运行,可以使用pthread_exit(NULL)去退出主线程,这样地址空间还能正常存在线程分离是为了保证主线程不会被堵塞,还能......
  • MysSQL如何高效地随机读取数据,
    MysSQL如何高效地随机读取数据  现在有个需求,需要从mysql中随机读取出100条认证企业的数据,每一次读取的数据均不同?      可能很多人会联想到orderbyran......
  • C++ Tips:signed main 和 int main 的区别?
    #include<bits/stdc++.h>#defineintlonglongusingnamespacestd;signedmain(){return0;}注意到#defineintlonglong而main函数必须返回一个in......
  • c++:模板
    一、模板的基本概念c++除了面向对象的编程思想之外,还有泛型编程,主要技术是模板。c++提供两种模板机制:函数模板,类模板。函数模板:建立一个通用函数,其函数返回值和形参类型......
  • 3.读取CSV文件并进行可视化处理
    importcsvimportmatplotlib.pyplotaspltfromdatetimeimportdatetimeplt.rcParams['font.sans-serif']=['SimHei']#用来正常显示中文标签plt.rcParams['axes.un......