01/10/2018, 14:45

Đọc file trong C++

Mọi người giúp em phần này với ạ?
Em đang học phần đọc file, em có làm theo bài trên cpp.daynhauhoc nhưng không ra kết quả là nhiều dòng ạ !!!
Ai giúp em với !!!
Em cám ơn <3

Code:

#include <iostream>
#include <string>
#include <fstream>
using namespace std;

int main()
{
	ifstream Nhi("C:/Users/Jucni/Documents/Coding/code.txt", ios::in);
	if (Nhi.fail())
	{
		cout << "Can't open this file" << endl;
	}
	else
	{
		cout << "Success !!!" << endl;
	}
	while (!Nhi.eof())
	{
		char temp[255];
		Nhi.getline(temp, 255);
		string line = temp;
		cout << line << endl;
	}
	Nhi.close();
	system("pause");
	return 0;
}

Nội dung của file txt :
tong thu 1
dong thu 2
dong thu 3
dong thu 4
dong thu 5

Florastamine viết 16:59 ngày 01/10/2018

Dùng

while (std::getline(Nhi, line))
{
	std::cout << line << '\n';
}
std::coud << std::flush;

Cách dùng while (!Nhi.eof()) không được khuyến khích

Phan Trọng Tính viết 16:55 ngày 01/10/2018

anh có thể cho em xin tài liệu về cái này chi tiết hơn không ạ??? Em muốn hiểu rõ hơn tí. Em cám ơn ạ

Florastamine viết 16:57 ngày 01/10/2018

Là sao nhỉ? Dùng cái này thì có std::string tự resize buffer mà.

std::string line;
while (std::getline(file, line)) ...

@Trong_Tinh_Phan Bạn đọc https://codereview.stackexchange.com/questions/14790/is-this-the-right-way-to-read-every-line, cuộn xuống câu trả lời thứ 3 có giải thích khá chi tiết về logic của đoạn code này. Tốt nhất nên biết trước chút C++ I/O để khỏi lạcs trôis.

Bài liên quan
0