国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

C++中利用文件輸入對象(即ifstream對象)來讀取文本文件中帶空格的字符串以及混合輸入數(shù)字與字符串

2019-11-08 18:40:52
字體:
供稿:網(wǎng)友

    學(xué)習(xí)C有段時(shí)間了,但是C++剛開始學(xué),在看到文件操作時(shí)遇到了讀取文本文件中帶空格的字符串的問題。現(xiàn)總結(jié)如下:ifstream類定義的對象用法與cin非常相似,連類中的方法都很相似,假設(shè)定義 ifstream inFile;比如:cin>>ch與inFile>>ch;cin.get()與inFile.get()以及cin.getline()與inFile.getline()的用法基本相同,最重要的是讀取一行string類字符串的函數(shù)getline(),用法為:getline(cin,str); 只要將其修改為getline(inFile,str);即可實(shí)現(xiàn)讀取文本文件中帶空格的字符串。

TXT文件內(nèi)容如下:

4Sam Stone2000Freida Flass100500Tammy Tubbs5000Rich Raptor55000

示例代碼如下:(下面程序包含混合輸入數(shù)字與字符串)

#include<iostream>#include<fstream>	#include<cstdlib>	//support for exit()#include<string>#include<cstring>using namespace std;struct donators{	string donatorname;	double amount;};const int Size = 30;int main(){	//定義文件輸入類,并與文件建立連接	ifstream inFile;	char filename[Size];	cout<<"Please enter the name of file: ";	cin>>filename;	inFile.open(filename);	if(!inFile.is_open())	{		cout<<"Can not open the file./n";		cout<<"PRogram terminating./n";		exit(EXIT_FAILURE);	}	//開始讀取文件數(shù)據(jù)	int number;	inFile>>number;	inFile.get();	donators *p = new donators[number];	for(int i=0;i<number && inFile.good();i++)	{		getline(inFile,p[i].donatorname);	//ifstream定義的對象與cin用法幾乎一致		inFile>>p[i].amount;		inFile.get();	}	//判斷文件讀取結(jié)束原因	if (inFile.eof())	//文件尾標(biāo)志		cout<<"End of file reached./n";	else if(inFile.fail())	//數(shù)據(jù)不匹配錯(cuò)誤		cout<<"Input terminated by data mismatch./n";	else		cout<<"Input terminated for unknow reason./n";	inFile.close();	//輸出重要捐獻(xiàn)者	int flag1 = 0;	cout<<"Grand Patrons:/n";	for(int i=0;i<number;i++)	{		if(p[i].amount>10000)		{			cout<<p[i].donatorname<<"/t"<<p[i].amount<<endl;			flag1++;		}	}	if (flag1<=0)		cout<<"none./n";	//此種類別沒有捐獻(xiàn)者	//輸出普通捐獻(xiàn)者	flag1 = 0;	cout<<"Patrons:/n";	for(int i=0;i<number;i++)	{		if(p[i].amount<=10000)		{			cout<<p[i].donatorname<<"/t"<<p[i].amount<<endl;			flag1++;		}	}	if (flag1<=0)		cout<<"none./n";	return 0;}

OVER!


發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 五常市| 邹平县| 永胜县| 应用必备| 屏东县| 磴口县| 南雄市| 塔城市| 平度市| 沂南县| 本溪市| 巴南区| 额济纳旗| 北碚区| 东明县| 滦南县| 宁城县| 青神县| 平度市| 仲巴县| 射洪县| 富川| 铜梁县| 东乡县| 柳江县| 通化县| 遂溪县| 麻城市| 桑日县| 扬中市| 游戏| 青冈县| 嫩江县| 虹口区| 沅江市| 阳曲县| 铜鼓县| 天全县| 新宾| 石嘴山市| 博罗县|