30/09/2018, 16:13
Làm sao để thao tác với tệp?
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<string.h>
typedef struct hoc_sinh{
char ten[20] ;
char phai[4] ;
int diem ;
char kq[4] ;
} KieuHV;
/* Hàm nhập danh sách n học viên */
void nhapds ( int n, KieuHV *lop){
for ( int i=0;i<n;i++){
printf ("Nhap ho va ten nguoi thu %d : ", i);
fflush(stdin);
gets(lop[i].ten);
printf ("Phai (nam/nu):");
fflush(stdin);
gets(lop[i].phai);
printf ("Nhap diem = ") ;
scanf ("%d%c*c", &(lop[i].diem));
if (lop[i].diem>5)
strcpy (lop[i].kq,"dau");
else
strcpy (lop[i].kq, "rot");
}
}
/* Hàm sắp xếp */
void sapxep ( int n , KieuHV *lop){
int i , j ;
KieuHV tam;
for ( i=0 ; i<n; i++)
for ( j=i+1 ; j<n; j++)
if (lop[i].diem< lop[j].diem){
tam = lop[i] ;
lop[i] = lop[j] ;
lop [i] = tam ;
}
}
/* Hàm in danh sách */
void inds ( int n, KieuHV *lop){
int i ;
for ( i=0 ; i<n ; i++)
printf ("
%20s %5s%5d%5s", lop[i].ten, lop[i].phai, lop[i].diem, lop[i].kq);
}
int main(){
int n;
KieuHV *lop;
FILE *file;
printf ("Nhap so hoc sinh:") ;
scanf("%d",&n);
lop = (KieuHV*)malloc(n*sizeof(KieuHV));
nhapds(n,lop) ;
sapxep (n,lop);
inds(n,lop);
file=fopen("D:dulieu.txt ","wb");
for ( int i = 0; i<n ;i++){
fwrite(&lop[i],sizeof(KieuHV),1,file);
}
fclose(file);
printf ("
Ghi du lieu xong.");
return 0;
}
Sao mình ghi dữ liệu kiểu cấu trúc lên file soNguyen.txt
,rồi sau đó mở file đó lên thì lại đọc không được.Mọi người giúp minh với.
Bài liên quan
Em ghi ở dạng binary mà @14520054
Á chết em quên mất,thế mà cũng đi hỏi cho được.