Lập trình C: Bài 14 – Nhập xuất file trong C/C++

Trong quá trình lập trình, chúng ta thường phải đọc và ghi dữ liệu ra file. Bài này sẽ hướng dẫn các bạn cách làm đơn giản với C và C++.

Lưu ý: Trong các ví dụ dưới đây, các file input và output đặt cùng thư mục với file mã nguồn.

Ví dụ: Cho file input.txt, dòng đầu tiên gồm 1 số n là số lượng bạn bè, n dòng tiếp theo mỗi dòng là tên của 1 bạn bè. Đọc và ghi ra file output.txt danh sách bạn bè kèm số thứ tự
input.txt output.txt
3
Nguyen Van Quan
Nguyen Thi Hong Anh
Nguyen Van Hung
1.Nguyen Van Quan
2.Nguyen Thi Hong Anh
3.Nguyen Van Hung

Code C

#include <stdio.h>

int main()
{
	int n, i;
	char name[255];							// khai bao bien ten
	FILE *fi = fopen("input.txt", "r");		// mo file de doc
	FILE *fo = fopen("output.txt", "w");	// mo file de ghi

	fscanf(fi, "%d", &n);					// doc so n tu file fi

	fgets(name, 255, fi);					// loai bo dau xuong dong sau khi doc so n

	for(i = 0; i < n; i++) 
	{					
		fgets(name, 255, fi);				// doc chuoi gom 255 ky tu tu file fi
		fprintf(fo, "%d.%s", (i+1), name);	// ghi chuoi ra file fo
	}

	fclose(fi);		// dong file fi
	fclose(fo);		// dong file fo

	return 0;
}

Code C++

#include <fstream>
using namespace std;

int main()
{
	int n;
	string name;
	ifstream fi("input.txt"); 	// mo file de doc
	ofstream fo("output.txt"); 	// mo file de ghi
	
	fi >> n;					// doc 1 so tu file
	getline(fi, name);			// loai bo dau xuong dong sau khi doc so n

	for (int i = 0; i <n; i++)
	{
		getline(fi, name);		// doc 1 dong tu file
		fo << (i+1) << "." << name << '\n';		// ghi 1 dong ra file
	}

	fi.close();
	fo.close();

	return 0;
}