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.

Nguyễn Minh Dũng viết 18:13 ngày 30/09/2018

file=fopen("D:\dulieu.txt ",“wb”);

Em ghi ở dạng binary mà @14520054

BaoLe viết 18:17 ngày 30/09/2018

Á chết em quên mất,thế mà cũng đi hỏi cho được.

Bài liên quan
0