C++读取.txt文本文件操作-创新互联

用C++读取.txt文本文件步骤如下:定义一个文件流对象、打开文件、读文件、关闭文件。

10年积累的成都网站建设、成都网站设计经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有西湖免费网站建设让你可以放心的选择与我们合作。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#include#include#includeusing 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文件中最后一个数字后面没有空格,但是按照上述代码依然可以正常读取,所以以后设计程序也就不需要再单独关心最后一个数字的情况。

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


分享标题:C++读取.txt文本文件操作-创新互联
文章源于:http://ybzwz.com/article/dgccdp.html