g20_ready Δημοσ. 31 Ιανουαρίου 2009 Δημοσ. 31 Ιανουαρίου 2009 Γεία σας παιδιά, έχω μια εργασία C,η οποία ζητάει ενα πρόγραμμα αναζήτησης string σε ένα αρχείο. το πρόβλημά μου είναι ο τρόπος με τον οποίο θα κάνω την αναζήτηση.Σκευτηκα να τρέξω το string που εισάγει ο χρήστης σε όλο το αρχείο και να κάνω έλεγχο γράμμα γράμμα.Ο τρόπος αυτός είναι πολύ χρονοβόρος,και καθόλου πρακτικός. Αν κάποιος μπορεί να σκευτεί κάτι άλλο ας απαντήσει. thnx in advance:)
PavelX Δημοσ. 31 Ιανουαρίου 2009 Δημοσ. 31 Ιανουαρίου 2009 Αν το αρχείο είναι μικρό μπορείς να το φορτώσεις στη μνήμη και με strstr να το εντοπίσεις. Αν πάλι είναι μεγάλο, μπορείς να το φορτώνεις σε κομμάτια και με strstr να ψάχνεις εκείνα τα κομμάτια.
g20_ready Δημοσ. 31 Ιανουαρίου 2009 Μέλος Δημοσ. 31 Ιανουαρίου 2009 Αν το αρχείο είναι μικρό μπορείς να το φορτώσεις στη μνήμη και με strstr να το εντοπίσεις. Αν πάλι είναι μεγάλο, μπορείς να το φορτώνεις σε κομμάτια και με strstr να ψάχνεις εκείνα τα κομμάτια. Δεν έχουμε διδαχθεί την εντολή strstr αλλά έψαξα στο google και νομίζω κατάλαβα πως δουλεύει. ευχαριστώ για την απάντηση.
dark_banishing Δημοσ. 31 Ιανουαρίου 2009 Δημοσ. 31 Ιανουαρίου 2009 Μήπως όμως ο καθηγητής θέλει να το φτιάξετε μόνοι σας και όχι να χρησιμοποιήσετε έτοιμες συναρτήσεις .. ;
PavelX Δημοσ. 31 Ιανουαρίου 2009 Δημοσ. 31 Ιανουαρίου 2009 Το strcmp συγκρίνει 2 strings ενώ το strstr ψάχνει για το string1 μέσα στο string2.
PCharon Δημοσ. 31 Ιανουαρίου 2009 Δημοσ. 31 Ιανουαρίου 2009 Σκευτηκα να τρέξω το string που εισάγει ο χρήστης σε όλο το αρχείο και να κάνω έλεγχο γράμμα γράμμα.Ο τρόπος αυτός είναι πολύ χρονοβόρος,και καθόλου πρακτικός. Δεν είναι αργός ο τρόπος, η υλοποίησή σου είναι αργή προφανώς...
ippo00 Δημοσ. 31 Ιανουαρίου 2009 Δημοσ. 31 Ιανουαρίου 2009 Αυτό που λεω Pavel είναι ότι ο μισός αλγόριθμος του strstr είναι ουσιαστικά ενα strcmp.
PavelX Δημοσ. 31 Ιανουαρίου 2009 Δημοσ. 31 Ιανουαρίου 2009 Ναι, αλλά τη δουλειά που κάνεις με το strstr δεν μπορείς να την κάνεις με το strcmp. Και η for() είναι στην ουσία μια while() αλλά γιατί να κάνεις τη ζωή σου δύσκολη όταν μπορείς να κάνεις τη δουλειά σου με 1 γραμμή;
dark_banishing Δημοσ. 31 Ιανουαρίου 2009 Δημοσ. 31 Ιανουαρίου 2009 Έχω την αίσθηση ότι το πρώτο σχόλιο του ippo πήγαινε σε αυτό που είπα εγώ.
ippo00 Δημοσ. 31 Ιανουαρίου 2009 Δημοσ. 31 Ιανουαρίου 2009 Το νόημα αυτού που είπα είναι ότι το strstr δεν θα είναι δα και πολύ αποδοτικότερο από την μια προς μια εξέταση των γραμμάτων.
wizard Δημοσ. 31 Ιανουαρίου 2009 Δημοσ. 31 Ιανουαρίου 2009 Υποθέτω ότι αφού δε σας έχει διδαχθεί το strstr ο καθηγητής περιμένει να κάνεις το εξής: Ψάχνεις όλο το έγγραφο για να βρεις το πρώτο γράμμα του string που αναζητάς. Μόλις το βρεις αρχίζεις και συγκρίνεις ένα ένα τα επόμενα γράμματα. Αν βρεις το string σταματάς εκεί και είσαι οκ. Αλλιώς συνεχίζεις την αναζήτηση, πάντα ψάχνοντας μόνο το πρώτο γράμμα του string ώστε μόλις το βρεις να ελέγξεις τα επόμενα.
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.