C/Variabili, operatori e costanti/Stringhe: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Gian BOT (discussione | contributi)
m sostituzione tag obsoleti
Nessun oggetto della modifica
Etichetta: Editor wikitesto 2017
 
Riga 8:
 
Una stringa non è altro che un array di elementi di tipo char. Questo fa pensare subito a un tipo di dichiarazione immediato (ma alquanto scomodo):
<sourcesyntaxhighlight lang="c">char my_string[] = { 'H','e','l','l','o','\0' };</sourcesyntaxhighlight>
Il carattere \0 è necessario per terminare la stringa.
La dichiarazione vista sopra non è comodissima, ragion per cui il C consente di
dichiarare le stringhe direttamente così:
<sourcesyntaxhighlight lang="c">char my_string[] = "Hello";</sourcesyntaxhighlight>
Ovviamente si può dichiarare le stringhe senza inizializzarle. In questo
caso le si dichiara specificando il nome e la dimensione:
<sourcesyntaxhighlight lang="c">
//stringa di 20 caratteri di cui 1 per \0
char my_string[20];</sourcesyntaxhighlight>
== Uso delle stringhe ==
=== Visualizzazione dei caratteri di una stringa ===
<sourcesyntaxhighlight lang="c">
#include <stdio.h>
char frase[]="sono una stringa";
Riga 27:
printf("%s", frase);
}
</syntaxhighlight>
</source>
Lo specificatore %s indica una stringa alla funzione printf.
 
=== Lettura sicura dei caratteri di una stringa ===
<sourcesyntaxhighlight lang="c">
#include <stdio.h>
int main (void)
Riga 38:
fgets(frase,10,stdin);
}
</syntaxhighlight>
</source>
fgets(char *str, int lun, FILE *stream)
legge i caratteri da un file che se si pone come ''stdin'' è lo schermo della console e li memorizza come una stringa C finché (num-1) caratteri sono stati letti o un ritorno a capo o si raggiunge la fine del file (EOF).