天天看點

C++讀取txt檔案1.逐行讀入2.逐個字元讀入(忽略空格與回車)3.逐個字元讀入(包括空格與回車)

1.逐行讀入

#include <assert.h>            //assert()的頭檔案
#include <fstream>
#include <iostream>
#include <string>
using namespace std;

int main()
{
	ifstream infile;
	infile.open("C:\\Users\\leader\\Desktop\\1.txt");   //将檔案流對象與檔案連接配接起來 
	assert(infile.is_open());                   //檢查資料合法性
						   /*如果為false,“表達式,檔案名,行号”的錯誤資訊,
					           然後調用abort結束整個程式*/
	string s;
	while (getline(infile, s))       //第一參數:檔案,第二參數:讀入地方,第三參數:終止字元
	{
		cout << s << endl;
	}
	infile.close();             //關閉檔案輸入流 
	system("pause");
}           

注:          ifstream infile; infile.open("C:\\Users\\leader\\Desktop\\1.txt");  

等同于:      ifstream infile("C:\\Users\\leader\\Desktop\\1.txt");

2.逐個字元讀入(忽略空格與回車)

#include <assert.h>            //assert()的頭檔案
#include <fstream>
#include <iostream>
#include <string>
using namespace std;

int main()
{
	ifstream infile;
	infile.open("C:\\Users\\leader\\Desktop\\1.txt");   //将檔案流對象與檔案連接配接起來 
	assert(infile.is_open());   //若失敗,則輸出錯誤消息,并終止程式運作 
	char c;                     //可以更改讀入類型
	while (!infile.eof())
	{
		infile >> c;
		cout << c << endl;
	}
	infile.close();             //關閉檔案輸入流 
	system("pause");
}           

3.逐個字元讀入(包括空格與回車)

#include <assert.h>            //assert()的頭檔案
#include <fstream>
#include <iostream>
#include <string>
using namespace std;

int main()
{
	ifstream infile;
	infile.open("C:\\Users\\leader\\Desktop\\1.txt");   //将檔案流對象與檔案連接配接起來 
	assert(infile.is_open());   //若失敗,則輸出錯誤消息,并終止程式運作 
	char c;
	infile >> noskipws;         //不忽略空格
	while (!infile.eof())
	{
		infile >> c;
		cout << c << endl;
	}
	infile.close();             //關閉檔案輸入流 
	system("pause");
}           

繼續閱讀