TRNG I HC CÔNG NGH THÔNG TI N THC HÀNH MÔN TIN HC I CNG
Khoa Khoa Hc Máy Tính Bài 12. Thao tác v FILE
THC HÀNH MÔN TIN HC I CNG
Bài 12. THAO TÁC V FILE
I. TÓM TT BÀI THC HÀNH
1.1. Yêu cu lý thuyt
Sinh viên đã đc trang b kin thc v cách s dng các thao tác trên file.
1.2. Ni dung
¬ Vit đc các chng trình sau:
̇ Ghi lên file chui nhp t bàn phím
̇ c ni dung trong file và xut ra màn hình
̇ Ghi, đc xut m a trn
̇ Chng trình Qun lý sinh viên
¬ Chú ý:
̇ Lu đ
̇ Cách tip cn đ gii bài toán trên máy tính
II. THAO TÁC TNG BC
2.1.
Chng trình đc ghi 1 chui lên file
2.1.1.
Cài đt
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <malloc.h>
#define MAX_PATH 100
//khai bao ham
char* DocNoiDung(FILE*);
void GhiNoiDung(FILE*, char*);
//dinh nghia ham
void main()
{
char* st = (char*)malloc(MAX_PATH);
printf("Nhap chuoi st : ");
fflush(stdin);
gets(st);
1
TRNG I HC CÔNG NGH THÔNG TIN THC HÀNH MÔN TIN HC I CNG
Khoa Khoa Hc Máy Tính Bài 12. Thao tác v FILE
//ghi noi dung chuoi st len file
FILE* f;
f = fopen("bai11.txt", "wt");
if (f)
{
GhiNoiDung(f, st);
}
fclose(f);
getch();
printf("Ket qua doc noi dung tu file\n");
char* st_read = (char*)malloc(MAX_PATH);
//doc noi dung trong file len chuoi st
f = fopen("bai11.txt", "rt");
if (f)
{
st_read = DocNoiDung(f);
}
fclose(f);
//xuat noi dung doc duoc
puts(st_read);
getch();
}
char* DocNoiDung(FILE* f)
{
char* res = (char*)malloc(MAX_PATH);
char temp[MAX_PATH];
//su dung cach doc tung dong
while (!feof(f))
{
fgets(temp, MAX_PATH, f);
strcpy(res, temp);
}
return res;
}
void GhiNoiDung(FILE* f, char* st)
{
fputs(st, f);
}
2
TRNG I HC CÔNG NGH THÔNG TIN THC HÀNH MÔN TIN HC I CNG
Khoa Khoa Hc Máy Tính Bài 12. Thao tác v FILE
2.1.2.
Kt qu
¬ Lu ý
̇ Thc hin thao tác kim tra trc khi thc hin các thao tác khác. Phi
luôn bo đm file đã m
III. BÀI TP LÀM TI LP
̇ Ghi lên file chui nhp t bàn phím
̇ c ni dung trong file và xut ra màn hình.
̇ Thay bài trên bng mng å file å mng
IV. BÀI TP V NHÀ
̇ Ghi, đc xut ma trn 1,2 chiu
̇ Vit chng trình qun lý sinh viên bng file và struct
V. CÁC CÂU HI THNG GP
̇ Du hiu kt thúc file EOF?
̇ Cu trúc File là nh th nào?
̇ …
3