大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
用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元起,快前往官网查看详情吧