Mình có một file data.txt là file văn bản có cấu trúc mỗi dòng gồm từ và nghĩa của một từ tiếng anh cách nhau bởi dấu ;
data.txt
Code:
a;mao tu
an;mao tu
cpu;bo vi xu li
ram;bo nho
rom;bo nho
khi mình đọc file kí từ theo từng dòng, mối dòng ghi vào một biến char dong[80] và gặp lỗi khi tách thành từ và nghĩa. Nghĩa luôn bị lặp lại bởi các nghĩa từ trên. Bạn nào sửa lỗi giùm với
lỗi :
Code:
a;maotu
tu la : a nghia la: mao tu
an;maotu
tu la : an nghia la:maotu
maotu
tu la :cpu nghia la:maotu
maotu
bo vi xu li
file tach_chuoi.cpp
Code:
#include"conio.h"
#include"stdio.h"
#include"string.h"
int i,j,k,l=0;
void main()
{
FILE *file;
char dong[80],tu[30],nghia[50];
file=fopen("data.txt","r"); //mo file data.txt de doc
while(!feof(file))
{
fgets(dong,80,file); // doc tung dong ki tu trong file
printf("\n %s",dong);
for(int i=1;dong[i]!='\0';i++) // tim vi tri ki tu ;
{ if(dong[i]==';')
{
for(j=0;j<i;j++) // gan chuoi ki tu vao tu
{
tu[j]=dong[j];
}
for(j=i;j<strlen(tu);j++)
{
tu[j]=' ';
}
for(k=i+1;k<strlen(dong);k++) // gan chuoi ki tu vao nghia
{
nghia[l]=dong[k];
l++;
}
break;
}
}
printf(" tu la : %s \t nghia la : %s \n",tu,nghia); // in ra de kiem tra
}
fclose(file);
getch();
}