chrislem Δημοσ. 7 Ιουνίου 2009 Δημοσ. 7 Ιουνίου 2009 Ρε παιδιά πως μπορείς να κάνεις αναζήτηση μέσα σε ένα text αρχείο με την C. Γράφω με Borland C. Στο αρχείο θα έχω καταχωρήσει πιο πριν απο το πληκτρολόγιο ένα όνομα και ένα id και θέλω ο χρήστης να δίνει ένα id και να το βρίσκει στο αρχείο αν υπάρχει και να σβήνει και το όνομα και το id!
bxenos Δημοσ. 7 Ιουνίου 2009 Δημοσ. 7 Ιουνίου 2009 system("grep -v- \"idπουθελεις\" data.txt > data1.txt"); system("copy/b data1.txt data.txt");
bokarinho Δημοσ. 8 Ιουνίου 2009 Δημοσ. 8 Ιουνίου 2009 system("grep -v- \"idπουθελεις\" data.txt > data1.txt");system("copy/b data1.txt data.txt"); 'Εξυπνο πολύ μου άρεσε.... ;)
virxen75 Δημοσ. 8 Ιουνίου 2009 Δημοσ. 8 Ιουνίου 2009 δοκίμασε αυτό > #include <stdlib.h> #include <stdio.h> struct data1{ int id; char name[21]; }; char line1[80]; void getdata(int); void deleteByID(int); void readFileData(); FILE * file1; FILE * file2; int main(){ getdata(4); readFileData(); int idToFind=-1; printf("\npio id na bro kai na sbiso:"); scanf("%d",&idToFind); deleteByID(idToFind); readFileData(); int xxx; scanf("\n%d",&xxx); } void getdata(int posoi){ file1=fopen("persons.dat","wt"); struct data1 person; for (int i=0;i<posoi;i++){ printf("\ndwse id:"); scanf("%d",&person.id); printf("\ndwse onoma:"); scanf("%s",&person.name); fprintf(file1,"%d,%s\n",person.id,person.name); } fclose(file1); } void deleteByID(int id){ struct data1 person; file1=fopen("persons.dat","rt"); file2=fopen("persons1.dat","wt"); while(fgets(line1, 80, file1)!=NULL) { sscanf(line1,"%d,%s",&person.id,&person.name); if(person.id!=id) fprintf(file2,"%d,%s\n",person.id,person.name); } fclose(file1); fclose(file2); int status; status = rename("persons.dat", "persons.bak"); status = rename("persons1.dat", "persons.dat"); status=remove("persons.bak"); } void readFileData(){ printf("\n=============periexomena arxeioy============="); struct data1 person; file1=fopen("persons.dat","rt"); while(fgets(line1, 80, file1)!=NULL) { sscanf(line1,"%d,%s",&person.id,&person.name); printf("\nid=%d , name=%s", person.id,person.name); } fclose(file1); }
clevercitizen Δημοσ. 8 Ιουνίου 2009 Δημοσ. 8 Ιουνίου 2009 system("grep -v- \"idπουθελεις\" data.txt > data1.txt");system("copy/b data1.txt data.txt"); Βάλε και καμιά awk, ακόμα πιο εύκολη!:p:p
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.