ΠΟΛΥΤΕΧΝΕΙΟ
ΚΡΗΤΗΣ Τμήμα Ηλεκτρονικών Μηχ. και Μηχ. Υπολογιστών ΛΟΓ 102: Τεχνολογία Λογισμικού
Ι |
Το υλικό των φροντιστηριακών ασκήσεων που βρίσκεται σε αυτή τη σελίδα προετοιμάστηκε
από τους βοηθούς του μαθήματος, Φώτη Καζάση (
)
και Κυριάκο Πούτο (fotis@ced.tuc.gr
),
κατόπιν συνεννοήσεως με το διδάσκοντα.kyriakos@ced.tuc.gr
#include "stdio.h" void main () { FILE *fp1; char oneword[100]; char c; fp1 = fopen("\\PROJECTS\\TENLINES.TXT","rt"); do { c = fscanf(fp1,"%s", oneword); printf("%s\n", oneword); } while (c != EOF); fclose(fp1); }
Εντοπισμός προβλήματος εμφάνισης επιπλέον γραμμών στην έξοδο. Λύση προβλήματος:
#include "stdio.h" void main ( ) { FILE *fp1; char oneword[100]; char c; fp1 = fopen("\\PROJECTS\\TENLINES.TXT","rt"); do { c = fscanf(fp1,"%s", oneword); if (c != EOF) printf("%s\n", oneword); } while (c != EOF); fclose(fp1); }
#include "stdio.h" void main( ) { FILE *fp1; char oneword[100]; char *c; fp1 = fopen("TENLINES.TXT","rt"); do { c = fgets(oneword, 100 ,fp1); if (c != NULL) printf("%s", oneword); } while (c != NULL); fclose(fp1); }
#include "stdio.h" #include "string.h" struct record { char last_name[20]; char first_name[15]; int age; }; typedef struct record person; FILE *people; void main () { person employee; people = fopen("PEOPLE.DAT", "wb"); strcpy(employee.last_name, "ΚΑΖΑΣΗΣ"); strcpy(employee.first_name, "ΦΩΤΗΣ"); employee.age = 33; fwrite(&employee, sizeof(employee), 1, people); strcpy(employee.last_name, "ΠΟΥΤΟΣ"); strcpy(employee.first_name, "ΚΥΡΙΑΚΟΣ"); employee.age = 28; fwrite(&employee, sizeof(employee), 1, people); strcpy(employee.last_name, "ΠΑΠΑΣΠΥΡΟΥ"); strcpy(employee.first_name, "ΝΙΚΟΣ"); employee.age = 30; fwrite(&employee, sizeof(employee), 1, people); fclose(people); }
#include "stdio.h" #include "string.h" struct record { char last_name[20]; char first_name[15]; int age; }; typedef struct record person; FILE *people; void main () { person employee; people = fopen("PEOPLE.DAT", "rb"); while (!feof(people)) { fread(&employee, sizeof(employee), 1, people); printf("Surname..........: %s\n", employee.last_name); printf("Given name.......: %s\n", employee.first_name); printf("Age..............: %d years\n", employee.age); } fclose(people); }
#include "stdio.h" #include "string.h" struct record { char last_name[20]; char first_name[15]; int age; }; typedef struct record person; FILE *people; void main () { person employee; int rec, result; people = fopen("PEOPLE.DAT", "r+b"); printf("Which record do you want [0-2]? "); scanf("%d", &rec); while (rec >= 0) { fseek(people, rec*sizeof(employee), SEEK_SET); result = fread(&employee, sizeof(employee), 1, people); if (result==1) { printf("\nRECORD %d\n", rec); printf("Surname..........: %s\n", employee.last_name); printf("Given name.......: %s\n", employee.first_name); printf("Age..............: %d years\n", employee.age); } else printf("\nRecord %d not found!\n\n", rec); printf("Which record do you want [0-2]? "); scanf("%d", &rec); }
fclose(people); }
Επισήμανση δυνατότητας απομόνωσης της δήλωσης της δομής person
σε αρχείο header που γίνεται #include
από τα αρχεία που την χρησιμοποιούν
(πλεονεκτήματα).
Η ευτυχία δεν είναι μια κατάσταση στην οποία θα φθάσεις, αλλά ένας τρόπος για να ταξιδεύεις.
Νίκος Παπασπύρου (nickie@softlab.ntua.gr
).
Τελευταία αλλαγή: 30/03/2000 22:09 .