Chắc các bạn cũng đã từng nghĩ đến việc phải nhập xuất vào file như thế nào đặc biệt là các bác đang "mần" niên luận. Hôm nay ddtan90 tui mạo mụi "múa vài đường kiếm " về cái vụ nhập xuất file này.
Trước tiên, để cá thể nhập xuất file một cách hiệu quả nhất và không bị ra kết quả một cách không hiểu nổi thì phải hiểu cơ chế hoạt động của nó. Đối với máy tính, dữ liệu trong file chỉ là 1 dòng cho dù có bao nhiêu kí tự xuống dòng đi chăng nữa. Để dọc file các bạn phải khai báo một con trỏ kiểu File:
- Code:
-
FILE *f;
sau đó các bạn cho con trỏ này trỏ vào một file
- Code:
-
f=fopen("ten_file","kiểu truy xuất")
ví dụ như bạn muốn mở file "input.txt" để đọc dữ liệu thì
- Code:
-
f=fopen("input.txt","r"
. Kiểu truy xuất có thể là đọc: "r", ghi "w" hoặc ghi nối vào file cũ "a". Lưu ý: trong trường hợp "w" thì nếu đã tồn tại 1 file giống với "ten_file" thì file này sẽ bị xóa bỏ.
Để đọc dữ liệu từ file thì có nhiều cách, ở đây tui dùng cách
- Code:
-
fscanf(tên_con_trỏ_file, "kiểu_format",tham_chiếu_tới_biến_cần_lưu_gía_trị);
ví dụ
- Code:
-
fscanf(f,"%d %d %c",&a,&b,&c);
việc đọc file này cũng không khác gì so với việc scanf từ bàn phím, chỉ thêm con trỏ file.
Để ghi file thì cũng tương tự, các bạn mở file ở chế độ "w" hoặc "a". sau đó dùng lệnh
- Code:
-
fprintf
để ghi. cách dùng fprintf giồng như fscanf và printf thông thường. Sau khi đọc và ghi xong các bạn nhớ đóng file lại băng lênh:
- Code:
-
fclose(con_trỏ_file)
Cách thứ 2: hướng đối tượng hơn cách vừa rồi. trước tiên các bạn include thư viện
- Code:
-
fstream.h
vào. sau đó khai báo 2 biến như sau:
- Code:
-
ifstream ten_biến_đọc ("tên_file");//biến này để đọc file
ofstream tiên _biến_ghi ("tên_file");//biến này để lưu file
ví dụ
- Code:
-
ifstream fin ("myfile.txt");
ofstream fout "myfile.txt");
Để đọc và ghi những file này các bạn dùng toán tử >> và << ví dụ
- Code:
-
fout<<a;//ghi a ra file
fin>>b;//đọc b từ file trỏ bởi fin
.
Sau khi dùng xong các bạn cũng nhớ đóng file này lại
- Code:
-
fin.close();
Chúc các bạn thành công!
Nothing is impossible!