Solidios Δημοσ. 30 Δεκεμβρίου 2016 Δημοσ. 30 Δεκεμβρίου 2016 Παιδια εχω φάει παρα πολλες ωρες και εχω κολλήσει εδω περα εχω κανει ενα προγραμμα και θελω να κανω το παρακάτω αλλα δεν ξέρω πως μπορεις καποιος να βοηθήσει ; Να γραφεί παραλλαγή του προγράμματος στην οποία τα δεδομένα θα διαβάζονται από αρχείο κειμένου (text file) το όνομα του οποίου θα δίδεται ως όρισμα στην γραμμή εντολών.
defacer Δημοσ. 30 Δεκεμβρίου 2016 Δημοσ. 30 Δεκεμβρίου 2016 Πρώτα πρέπει να πάρεις το όνομα του αρχείου που δόθηκε ως όρισμα. Μετά να ανοίξεις το αρχείο. Και μετά να διαβάσεις τα δεδομένα από μέσα και να τα περάσεις σε μεταβλητές που θα χρησιμοποιήσεις κανονικά στη συνέχεια. Σε ποιό ακριβώς σημείο κολλάς; Τι έχεις κάνει ως τώρα; 1
Solidios Δημοσ. 30 Δεκεμβρίου 2016 Μέλος Δημοσ. 30 Δεκεμβρίου 2016 Δεν μπορώ να ανοίξω το αρχείο. και αυτος ειναι ο τροπος που του λεω να το ανοιξει fr=fopen(argv[1],"r"); if (fr==NULL) { printf("error"); exit(2); } Πρώτα πρέπει να πάρεις το όνομα του αρχείου που δόθηκε ως όρισμα. Μετά να ανοίξεις το αρχείο. Και μετά να διαβάσεις τα δεδομένα από μέσα και να τα περάσεις σε μεταβλητές που θα χρησιμοποιήσεις κανονικά στη συνέχεια. Σε ποιό ακριβώς σημείο κολλάς; Τι έχεις κάνει ως τώρα; Δεν μπορώ να ανοίξω το αρχείο. και αυτος ειναι ο τροπος που του λεω να το ανοιξει fr=fopen(argv[1],"r"); if (fr==NULL) { printf("error"); exit(2); }
defacer Δημοσ. 30 Δεκεμβρίου 2016 Δημοσ. 30 Δεκεμβρίου 2016 Αυτό που πρέπει να κάνεις λοιπόν λέγεται debugging. Εφόσον η fopen αποτυχαίνει πας και διαβάζεις τι γίνεται σ' αυτή την περίπτωση και βλέπεις ότι μπορείς στη συνέχεια να διαβάσεις τη global μεταβλητή errno για να πάρεις μια τιμή που σου λέει τι πήγε στραβά, ή ακόμα απλούστερα να κάνεις perror("fopen failed") για να σου πει τι πήγε στραβά σε απλά αγγλικά. Βεβαίως όλα αυτά τα λέω για σένα επειδή στην προκειμένη δεν είναι δύσκολο να μαντέψεις τι πήγε στραβά, δεν υπάρχει το αρχείο που λες ή ακόμα χειρότερα δεν υπάρχει η argv[1] (δεν έχει περαστεί όρισμα). Οπότε ξεκίνα από εκεί. 1
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα