30/09/2018, 16:56

[File trong C++] Hỏi về lấy dữ liệu số trong file *.txt

Code của mình như thế này


#include 
#include 
using namespace std;
int main(void)
{
	double x;
	ifstream ifile;
	ifile.open("numbers.txt", ios::in);
	if(ifile.is_open()) {
		while(!ifile.eof()) {
			ifile >> x;
			cout << x << endl;
		}
	}
	else cout << "Can not open file";
}

File txt của mình có 4 số 4, 5, 6.4, 3.2 khi chương trình in ra thì nó in ra 3 số đầu và2 số 3.2. Ai biết làm cách nào để nó chỉ in ra 1 số 3.2 thôi thì chỉ mình với

Minh Hoàng viết 19:01 ngày 30/09/2018

Bạn theo dõi topic này nhé, vấn đề này tương tự như vấn đề của bạn

Trong C thì EOF không phải là một kí tự (non-character value). Vì vậy thằng fscanf sẽ cố đọc, thằng name gồm những ô kí tự nhưng thằng eof lại không phải kí tự nên nó không get vào name được. diem cũng sẽ cố đọc nhưng không được, nên đành lấy thằng buffer trước đó là 8 (riêng thằng diem thì mình không biết đúng không). Bạn sửa lại như sau if (fscanf(f,"%s%d",student->name,&student->diem) == 2) { printf("%s %d\n",student->name,student->diem); } cách này sẽ kiểm tra xem nó có đọc đủ 2 inpu…

Bài liên quan
0