#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct sach{
int ma;
char ten[30];
char tacgia[20];
int nxb;
};
void docfile(FILE *f,struct sach sv[30]);
void ghifile(FILE *f,struct sach sv[30]);
int main()
{
FILE *fi,*fo;
struct sach sv[10];
docfile(fi,sv);
ghifile(fo,sv);
printf("\n%-20s %-25s %-20s %-10s\n ","Ma Sach","Ten Sach","Tac Gia","Ma NXB");
return(0);
}
void docfile(FILE *f,struct sach sv[30])
{
char temp[10];
f=fopen("D:/fi.txt","r");
int i=0 ;
for(int i=0;i<3;i++)
{
fflush(stdin);
fscanf(f,"%d",&sv[i].ma);
fgets(temp,2,f);
fgets(sv[i].ten,255,f);fflush(stdin);
sv[i].ten[strlen(sv[i].ten)-1]='\0';
fgets(sv[i].tacgia,255,f);
sv[i].ten[strlen(sv[i].tacgia)-1]='\0';
fflush(stdin);
fscanf(f,"%d",&sv[i].nxb);
}
fclose(f);
}
void ghifile(FILE *f,struct sach sv[30])
{
f=fopen("D:/fo.txt","w");
fprintf(f,"\n%-15s %-30s %-20s %-15s\n","Ma","Ten Sach","Tac Gia","Ma NXB");
for(int i=0;i<3;i++)
{
fprintf(f,"%-15d %-30s %-20s %-15d\n",sv[i].ma,sv[i].ten,sv[i].tacgia,sv[i].nxb);
}
fclose(f);
}
Tình Hình Là Việc Hàm docfile của em có vẫn đề ở chỗ cứ đọc dấu “cách” và"xuống hàng" làm cho cấu trúc lộn tùng phèo.
em đã thử nhiều cách như tạo 1 chuỗi để đọc rồi loại bỏ “cách” với “xuống hàng” nhưng vẫn ko triệt để .
Anh chị em bạn dì có cách nào giúp em với ạ ^^
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?