La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Stringhe In linguaggio C. Stringhe  Un insieme di caratteri in sequenza forma una stringa.  Alcuni linguaggi definiscono per le stringhe uno specifico.

Presentazioni simili


Presentazione sul tema: "Stringhe In linguaggio C. Stringhe  Un insieme di caratteri in sequenza forma una stringa.  Alcuni linguaggi definiscono per le stringhe uno specifico."— Transcript della presentazione:

1 Stringhe In linguaggio C

2 Stringhe  Un insieme di caratteri in sequenza forma una stringa.  Alcuni linguaggi definiscono per le stringhe uno specifico tipo di dato e offrono metodi specifici per gestire valori di quel tipo.  Il linguaggio C, tranne che in alcuni suoi dialetti, non fornisce un tipo di dato specifico per le stringhe che vengono trattate come array di caratteri. char nomeStudente[10];

3 Stringhe in C  Esistono molti modi per gestire le stringhe in linguaggio C.  Dichiarazione:  char [ ];  Esempio di dichiarazione:  char nomeStudente[20];  la stringa è in pratica un array di caratteri  nomeStudente è l’identificatore della stringa  20 è la dimensione  il numero di caratteri che la stringa può contenere è dato dalla dimensione – 1 (nell’esempio 19)  un elemento è utilizzato per memorizzare il carattere terminatore di stringa: \0, conosciuto come il carattere null.

4 Assegnamento  Come per gli array non è possibile eseguire direttamente un assegnamento di un valore ad una stringa.  Esempio: char nomeStudente[10]; // 19 caratteri + terminatore nomeStudente = "Rossi"; // Assegnamento errato  La libreria string.h mette a disposizione funzioni per operare con le stringhe, in particolare strcpy permette di assegnare un valore ad una stringa char nomeStudente[10]; // 19 caratteri + terminatore strcpy(nomeStudente,"Rossi"); // Assegnamento corretto

5 Visualizzazione  E’ possibile la visualizzazione del contenuto di una stringa.  Es. cout << "Il nome dello studente e': " << nomeStudente << endl;  E’ possibile visualizzare ogni singolo carattere della stringa:  Es. for (i=0; i<10; i++) cout << "Carattere " << i << " = " << nomeStudente[i] << endl;

6 Input  Mediante cin è possibile ricevere in input una stringa.  Attenzione: non c'è controllo nè segnalazione di errore di superamento limite caratteri  Esempio: cout << "Inserisci il nome dello studente "; cin >> nomeStudente; cout << "Il nome dello studente e': " << nomeStudente;

7 Modifica di un carattere  Come per gli array è possibile accedere ad ogni singolo elemento (ogni singolo carattere) della stringa.  Il primo carattere ha indice 0  Attenzione al terminatore di stringa  Esempio: nomeStudente[2]='K';

8 Stringhe e … caratteri  Attenzione alla differenza tra apice e doppio apice:  'C' rappresenta un carattere  "C" rappresenta una stringa (carattere + terminatore)

9 Confronto fra stringhe  La funzione strcmp(stringa1,stringa2) confronta stringa2 con stringa1, se sono uguali restituisce 0, se stringa1 è maggiore di stringa2 un valore positivo, altrimenti un valore negativo;  Esempio: if (strcmp(nomeStudente,"Rossi")==0) cout << "Hai inserito il nome Rossi"; else if (strcmp(nomeStudente,"Rossi")>0) cout<<"Il nome inserito segue Rossi in ordine alfabetico"; else cout<<"Il nome inserito precede Rossi in ordine alfabetico";

10 Libreria string.h  La libreria string.h rende disponibili molte funzioni standard per gestire le stringhe.:  strcpy(stringa1, stringa2) copia stringa2 su stringa1;  strncpy(stringa1, stringa2, n) copia i primi n caratteri di stringa2 in stringa1;  strcat(stringa1, stringa2) concatena stringa2 a stringa1;  strcmp(stringa1, stringa2) confronta stringa2 con stringa1, se sono uguali restituisce 0, se stringa1 è maggiore di stringa2 un valore positivo, altrimenti un valore negativo;  intero = atoi(stringa) converte una stringa in un intero;  reale = atof(stringa) converte una stringa in un valore in virgola mobile double;  intero = strlen(stringa) conta il numero di caratteri di una stringa;


Scaricare ppt "Stringhe In linguaggio C. Stringhe  Un insieme di caratteri in sequenza forma una stringa.  Alcuni linguaggi definiscono per le stringhe uno specifico."

Presentazioni simili


Annunci Google