Προγραμματισμός

* Γνώση Υπολογιστών >> Προγραμματισμός >> C /C + + Προγραμματισμός

Πώς να διαβάσετε ένα String στο C

Η γλώσσα προγραμματισμού C δεν παρέχει πραγματική σειρά τύπο δεδομένων . Στο C , ένα string είναι παράδειγμα προς μίμηση από μια σειρά από χαρακτήρες που καταλήγει σε NULL . Μια τέτοια διάταξη μπορεί να κηρυχθεί στατικά ή ως δείκτη . Πρότυπο C παρέχει πολλές λειτουργίες για να χειραγωγήσουν συστοιχίες χαρακτήρα ή χορδές C . Το άρθρο αυτό επικεντρώνεται στις λειτουργίες που διαβάζονται από το ρεύμα εισόδου και από τα αρχεία . Ακολουθήστε τις παρακάτω συμβουλές για να μάθετε πώς να διαβάσει ένα string σε C. , τι χρειάζεστε
C /C + + IDE ή C compiler
βιβλίο για C , όπως το "The C Programming Language " από τον Brian W. Kernighan

Παρουσίαση Περισσότερες οδηγίες
Η 1

κατανοείτε τις βασικές έννοιες . Μια σειρά C είναι ένας πίνακας του γραφήματος τύπου . Όπως συμβαίνει με όλες τις σειρές C , το πρώτο στοιχείο είναι αναπροσαρμόζονται κατά 0 , και το τελευταίο στις « μήκος συμβολοσειράς μείον 1 . " Συνήθως , ο compiler εισάγει NULL στην τελευταία θέση , έτσι ώστε η σειρά μπορεί να κρατήσει " το μήκος της συμβολοσειράς μείον 1 " στοιχεία . Null είναι ισοδύναμη με 0x00 σε μορφή ακέραιος και '\\ 0' σε μορφή char . Τα στοιχεία πρόσβαση από το " [ ] " χειριστή. Βήμα 2 απεικονίζει αυτές τις έννοιες 2

Προσθέστε το "περιλαμβάνουν οδηγία " παρακάτω σε οποιοδήποτε αρχείο προέλευσης πριν χρησιμοποιήσετε τις λειτουργίες αυτού του tutorial : .
# Include
Η 3

να αναγνωρίσει μια σειρά C . Ο κώδικας που ακολουθεί δείχνει μια δήλωση σύμφωνα με τη στατική και τη μέθοδο του δείκτη :
//στατική δήλωση
char str [ 50 ] = { 0 } ? //Σύντομος τρόπος για να προετοιμάσει όλα τα στοιχεία σε 0
//str [ 49 ] είναι NULL
//str έχει χωρητικότητα για 48 χαρακτήρες
//δήλωση του δείκτη
char * pStr = NULL? //όχι εκχώρηση μνήμης
pStr = ( char * ) malloc ( 50 ) ? //αυτό γίνεται με " malloc ( ) " Φτηνές 4

Διαβάστε δεδομένα σε ένα αλφαριθμητικό χρησιμοποιώντας C " scanf ( ) , " η οποία διαβάζει μια σειρά από χορδές διαχωρίζονται από κενό από το standard input και τα τοποθετεί σε οι διευθύνσεις που ανήκουν στις κατάλληλες μεταβλητές αναφοράς , σύμφωνα με ένα "string format" :
int n ? printf ( " Δώστε το όνομα και την ηλικία σας: " ) ?
scanf ( "% d % s " , str , & n ) ? //
printf ( "Το όνομά σας είναι % s και είστε % d παλαιά \\ n" , str , n) ?
5

Βάλτε τα δεδομένα σε μια σειρά C χρησιμοποιώντας το απλούστερο " παίρνει ( ) ", η οποία διαβάζει δεδομένα από το standard input σε μια σειρά μόνο :
printf ( " Πληκτρολογήστε τον Επώνυμο : " ) ?
παίρνει ( str ) ?
printf ( "Το όνομά σας είναι % s \\ n " , str ) ?
6

Διαβάστε αρχείου δεδομένων σε μια σειρά C χρησιμοποιώντας " fscanf ( ) " ? αυτή η λειτουργία είναι ανάλογη με " scanf ( ) " :
FILE * pFile ?
pFile = fopen ( " myfile.txt " , " r" ) ? //αναλαμβάνει το αρχείο υπάρχει και έχει
δεδομένων if ( NULL = pFile ! ) {
fscanf ( pFile , " % s " , str ) ?
printf (" Η πρώτη λέξη στο αρχείο % s \\ n" , str ) ?
Αδυναμία εγγραφής αρχείου ( pFile ) ? }

7

Επαναλάβετε τη βαθμίδα 5 χρησιμοποιώντας " fgets ( ) , " το οποίο λειτουργεί με τον ίδιο ως" παίρνει ( ) " :
FILE * pFile ?
pFile = fopen ( " myfile.txt " , " r " ) ? αν (NULL = pFile ! ) {
fgets ( pFile , str ) ?
printf (" Η πρώτη λέξη στο αρχείο % s \\ n" , str ) ?
Αδυναμία εγγραφής αρχείου ( pFile ) ? }

εικόνων

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα