#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <conio.h>
int main ()
{
FILE * fp;
int i,j;
char rows[255];
int res;
int len;
char imie[21];
char nazwisko[21];
char adres[51];
char miasto[61];
char tel[10];
char pesel[12];
/*
printf("Podaj imie");
scanf("%s",&imie);
printf("Podaj nazwisko");
scanf("%s",&nazwisko);
printf("Podaj adres zamieszkania");
scanf("%s",&adres);
printf("Podaj miasto");
scanf("%s",&miasto);
printf("Podaj nr.tel");
scanf("%s",&tel);
printf("Podaj pesel");
scanf("%s",&pesel);
fp = fopen ("xd.txt","a");
fprintf (fp, "|%s |%s |%s |%s |%s |%s |\n" ,pesel,imie,nazwisko,adres,miasto,tel);
fclose (fp);
*/
char* filename = "xd.txt";
fp = fopen(filename, "r");
if (fp == NULL){
printf("Could not open file %s",filename);
return 1;
}
while (fgets(pesel, 21, fp) != NULL)
printf("%s", pesel);
fclose(fp);
char name[21];
printf("Podaj imie: ");
scanf("%s",name);
fp = fopen(filename, "r");
if (fp == NULL)
{
printf("Could not open file %s",filename);
return 1;
}
while(fgets(rows,sizeof(rows),fp)!=NULL)
{
fscanf(fp,"%s %s %s %s %s %s",pesel,imie,nazwisko,adres,miasto,tel);
if (strstr(imie, name) != NULL)
{
printf("%s %s %s %s %s %s\n",pesel,imie,nazwisko,adres,miasto,tel);
}
}
fclose(fp);
return 0;
}
char name[21];
printf("Podaj imie: ");
scanf("%s",name);
fp = fopen(filename, "r");
if (fp == NULL)
{
printf("Could not open file %s",filename);
return 1;
}
while(fgets(rows,sizeof(rows),fp)!=NULL)
{
fscanf(fp,"%s %s %s %s %s %s",pesel,imie,nazwisko,adres,miasto,tel);
if (strstr(imie, name) != NULL)
{
printf("%s %s %s %s %s %s\n",pesel,imie,nazwisko,adres,miasto,tel);
}
}
Witam mam do wykonania prostą bazę danych .Dane mają zostać zapisane do pliku ,nastepnie odczytane z pliku .
Powinny dodane zostac jeszcze filtry danych ,prawie wszystko działa ,ale przy filtrowaniu ostatnia linijka z pilku tekstowego jest zdublowana nie wiem co powoduje ten problem probowalem dac while()== 1 albo rowne ilosc wierszy w pliku tekstowym przed "fscanf" ,ale to nic nie daje .
Podalem specjalnie tez dwa kody drugi to czesc ,ktora dziala wadliwie ,a pierwszy to glowna czesc programu bez walidowania danych
Drugim natomiast moim problem jest to ,że program nie czyta od poczatku pliku txt ,tylko zaczyna od drugiego wiersza.
Czy moglby ktos mi pomoc?