====== Αλφαριθμητικά ====== Τα αλφαριθμητικά μπορούν να αναπαρασταθούν με δύο τρόπους - Μέσω μιας ακολουθίας χαρακτήρων που περιέχει το χαρακτήρα '\0' στο τέλος. - Μέσω της κλάσης [[http://www.cplusplus.com/reference/string/string/|string]]. ===== Aκολουθία χαρακτήρων που περιέχει το χαρακτήρα '\0' στο τέλος ===== char str[12] = "Hello"; ή char str[12] = { 'H', 'e', 'l', 'l', 'o', '\0' }; {{ :cpp:hello.png?400 |}} Στη C++ είναι διαθέσιμες οι συναρτήσεις διαχείρισης συμβολοσειρών που προέρχονται από τη C, όπως οι παρακάτω: | char *strcpy(char *dest, const char *src); | Αντιγράφει το ''src'' στο ''dest''. Τα αλφαριθμητικά δεν πρέπει να επικαλύπτονται μεταξύ τους και θα πρέπει να υπάρχει αρκετός διαθέσιμος χώρος στο ''dest'' ώστε να αντιγραφεί το ''src'' χωρίς να βγούμε εκτός ορίων. | | char *strcat(char *dest, const char *src); | Ενθέτει το ''src'' αμέσως μετά το ''dest''. Αποθηκεύει το αποτέλεσμα στο ''dest''. Τα αλφαριθμητικά δεν πρέπει να επικαλύπτονται μεταξύ τους και θα πρέπει να υπάρχει αρκετός διαθέσιμος χώρος στο ''dest'' για το προκύπτον αλφαριθμητικό. | | int strcmp(const char *s1, const char *s2); | Συγκρίνει τα ''s1'' και ''s2'' μεταξύ τους και επιστρέφει μικρότερο, μεγαλύτερο ή ίσο με το μηδέν εάν το ''s1'' είναι μικρότερο μεγαλύτερο ή ίσο με το ''s2''. | | size_t strlen(const char *s); | Επιστρέφει τον αριθμό των χαρακτήρων (μήκος) του αλφαριθμητικού. | | char *strchr(const char *str, int c); | Επιστρέφει ένα δείκτη στην πρώτη εμφάνιση του ''c'' στο ''str''. Eπιστρέφει NULL εάν δεν εμφανίζεται το ''c'' στο ''str''. | | char *strrchr(const char *str, int c); | Επιστρέφει ένα δείκτη στην τελευταία εμφάνιση του ''c'' στο ''str''. Eπιστρέφει NULL εάν δεν εμφανίζεται το ''c'' στο ''str''. | | char *strstr(const char *haystack, const char *needle); | Επιστρέφει ένα δείκτη στην πρώτη εμφάνιση του ''needle'' στο ''heystack''. Eπιστρέφει NULL εάν δεν εμφανίζεται το ''needle'' στο ''heystack''. | | char *strstr(const char *haystack, const char *needle); | Επιστρέφει ένα δείκτη στην τελευταία εμφάνιση του ''needle'' στο ''heystack''. Επιστρέφει NULL εάν δεν εμφανίζεται το ''needle'' στο ''heystack''. |