migf1 έγραψε:stamatiou έγραψε:Θέλω να κάνω ένα πρόγραμμα για να οργανώσω την βιβλιοήκη μου και θέλω να το κάνω έτσι ώστε να καταγράφει το τίτλο σε ένα txt file και να το διαβάζει σε κάθε εκκίνηση μεταφέροντάς το σε ένα διπλό πίνακα...
Με fixed μέγιστο πλήθος γραμμών και fixed μέγιστο μήκος της καθεμιάς, είναι πολύ εύκολο...
- Κώδικας: Επιλογή όλων
int main( void )
{
int i = 0;
char arrstr[ NSTRINGS ][ MAXSTRLEN ] = { {'\0'} }; /* array of c-strings */
FILE *fp = fopen("test4.c", "r");
if ( !fp ) {
fputs("*** fatal error: Could not open file!\n", stderr);
exit( EXIT_FAILURE );
}
for (i=0; i < NSTRINGS && fgets( arrstr[i], MAXSTRLEN, fp); i++ )
{
/* remove '\n', if any, from end of just-read line */
size_t len = strlen( arrstr[i] ) - 1;
if ( arrstr[i][len] == '\n' )
arrstr[i][len] = '\0';
}
print_arrstr( arrstr );
fclose( fp );
exit( EXIT_SUCCESS );
}
Και μιας και το θυμήθηκα,
εδώ είχα γράψει παλιότερα ένα μικρό πρόγραμμα που τυπώνει τον πηγαίο του αρχείο, χωρίς να ορίζει από πριν μέγιστο μήκος για τις γραμμές που διαβάζει (για κάθε γραμμή ξεκινάει με μήκος 80 χαρακτήρων, κι αν χρειάζονται περισσότεροι δεσμεύει άλλους 80 και πάει λέγοντας).
Πιθανόν να συ φανεί κι αυτό χρήσιμο.