Il 0% ha trovato utile questo documento (0 voti)
2 visualizzazioni7 pagine

String in C

1. In programmazione C, una stringa è una sequenza di caratteri terminata con un carattere nullo \0. Le stringhe possono essere dichiarate utilizzando array di char o puntatori a caratteri. 2. Le funzioni comuni di manipolazione delle stringhe in C includono strlen() per ottenere la lunghezza di una stringa, strcpy() per copiare una stringa in un'altra, strcat() per concatenare due stringhe e strcmp() per confrontare due stringhe. 3. Altre funzioni come gets(), puts(), fgets() vengono utilizzate per input e output di stringhe dall'utente. scanf() può essere utilizzato anche per leggere stringhe dall'input dell'utente.

Tradotto da

ScribdTranslations
Copyright
© All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd
Il 0% ha trovato utile questo documento (0 voti)
2 visualizzazioni7 pagine

String in C

1. In programmazione C, una stringa è una sequenza di caratteri terminata con un carattere nullo \0. Le stringhe possono essere dichiarate utilizzando array di char o puntatori a caratteri. 2. Le funzioni comuni di manipolazione delle stringhe in C includono strlen() per ottenere la lunghezza di una stringa, strcpy() per copiare una stringa in un'altra, strcat() per concatenare due stringhe e strcmp() per confrontare due stringhe. 3. Altre funzioni come gets(), puts(), fgets() vengono utilizzate per input e output di stringhe dall'utente. scanf() può essere utilizzato anche per leggere stringhe dall'input dell'utente.

Tradotto da

ScribdTranslations
Copyright
© All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd

Stringhe in C Programming

Nella programmazione C, una stringa è una sequenza di caratteri terminata con un carattere nullo \0. Per
esempio
char c[] = "c string";

Quando il compilatore incontra una sequenza di caratteri racchiusa tra virgolette, esso
aggiunge un carattere nullo\0 alla fine per impostazione predefinita.

Come dichiarare una stringa?


Ecco come puoi dichiarare le stringhe:
char s[5];

Qui, abbiamo dichiarato una stringa di 5 caratteri.

char c[] = "abcd";

char c[50] = "abcd";

char c[] = {'a', 'b', 'c', 'd', '\0'};

char c[5] = {'a', 'b', 'c', 'd', '\0'};

Prendiamo un altro esempio:


char c[5] = "abcde";

Qui, stiamo cercando di assegnare 6 caratteri (l'ultimo carattere è '\0') a un array di caratteri che ne ha 5.
personaggi.
Assegnazione di valori alle stringhe
Gli array e le stringhe sono cittadini di seconda classe in C; non supportano l'operatore di assegnazione una volta.
è dichiarato. Per esempio,
char c[100];
programmazione C

Leggi una stringa dall'utente


Puoi utilizzare la funzione thescanf() per leggere una stringa.
La funzione scanf() legge la sequenza di caratteri fino a quando incontra uno spazio (spazio,
nuova línea, tab, ecc.).

Esempio 1: scanf() per leggere una stringa


#include <stdio.h>
int main()
{
char nome[20];
printf("Inserisci il nome: ");
scanf("%s", nome);
printf("Il tuo nome è %s.", nome);
restituire 0;
}

Inserisci nome: Dennis Ritchie


Il tuo nome è Dennis.

gets() e puts()
Le funzioni gets() e puts() sono due funzioni di stringa per prendere input di stringa dall'utente e visualizzarlo.
rispettivamente.
#include<stdio.h>

int main()
{
char nome[30];
printf("Inserisci nome: ");
gets(nome); //Funzione per leggere una stringa dall'utente.
printf("Nome: ");
puts(nome); //Funzione per visualizzare la stringa.
restituisci 0;
}

Come leggere una riga di testo?

Puoi usare la funzione fgets() per leggere una riga di stringa. E puoi usare puts() per visualizzare
la stringa.
Esempio 2: fgets() e puts()
#include <stdio.h>
int main()
{
char nome[30];
Inserisci nome:
fgets(name, sizeof(name), stdin); // leggi stringa
printf("Nome: ");
puts(nome); // visualizza stringa
ritorna 0;
}

Output
Inserisci nome: Tom Hanks
Tom Hanks

Qui, abbiamo utilizzato la funzione fgets() per leggere una stringa dall'utente.

fgets(nome, sizeof(nome), stdlin); // leggi stringa


La dimensione di(name) risulta essere 30. Pertanto, possiamo prendere un massimo di 30 caratteri come input.
è la dimensione della stringa nome.

Per stampare la stringa, abbiamo usato puts(name);.

Nota: La funzione gets() può anche essere utilizzata per prendere input dall'utente. Tuttavia, è stata rimossa da
lo standard C.

È perché gets() ti consente di inserire qualsiasi lunghezza di caratteri. Quindi, potrebbe esserci un buffer
straripamento.

Passare stringhe alle funzioni


Le stringhe possono essere passate a una funzione in un modo simile agli array. Scopri di più su come passare gli array a una
funzione.
Esempio 3: Passaggio di una stringa a una funzione
#include <stdio.h>
void visualizzaStringa(char str[]);

int main()
{
char str[50];
printf("Inserisci stringa: ");
fgets(str, sizeof(str), stdin);
visualizzaStringa(str); // Passaggio della stringa a una funzione.
ritorna 0;
}
void visualizzaStringa(char str[])
{
printf("Uscita Stringa: ");
puts(str);
}

Manipolazioni di Stringhe nella Programmazione C utilizzando Funzioni di Libreria


In questo articolo, imparerai a manipolare le stringhe in C utilizzando funzioni di libreria come gets(), puts,
strlen() e altro. Imparerai a ottenere una stringa dall'utente e a eseguire operazioni sulla stringa.
Devi spesso manipolare le stringhe in base alle esigenze di un problema. La maggior parte, se non tutte, delle
La manipolazione delle stringhe temporali può essere eseguita manualmente, ma questo rende la programmazione complessa e ingombrante.

Per risolvere questo, C supporta un gran numero di funzioni di gestione delle stringhe nella libreria standard
"string.h"
Di seguito vengono discussi alcuni comuni funzioni di gestione delle stringhe:

Funzione Lavoro della Funzione


strlen() calcola la lunghezza della stringa
strcpy() copia una stringa in un'altra
strcat() concatena (unisce) due stringhe
strcmp() confronta due stringhe
strlwr() converte la stringa in minuscolo
strupr() converte la stringa in maiuscolo
Le funzioni per la gestione delle stringhe sono definite nel file di intestazione "string.h".

#include <string.h>

Nota: Devi includere il codice qui sotto per eseguire le funzioni di gestione delle stringhe.

C strcat()
In programmazione C, la funzione strcat() concatena (unisce) due stringhe.
La definizione della funzione strcat() è:

char *strcat(char *destinazione, const char *origine)

È definito nel file di intestazione thestring.h.

argomenti di strcat()
Come puoi vedere, la funzione thestrcat() prende due argomenti:

meta
origine- stringa di origine

La funzione thestrcat() concatena la stringa di destinazione e la stringa sorgente, e il


il risultato è memorizzato nella stringa di destinazione.

Funzione C strcat()
#include <stdio.h>
#include <string.h>
int main() {
char str1[100] = "Questo è ", str2[] = "[Link]";
// concatena str1 e str2
La stringa risultante è memorizzata in str1.
strcat(str1, str2);

puts(str1);
puts(str2);

ritorna 0;
}

Questo è [Link]
[Link]

C strcpy() :
In questo tutorial, imparerai a usare la funzione strcpy() nella programmazione C per copiare stringhe (con
l'aiuto di un esempio).

C strcpy() :
Il prototipo della funzione strcpy() è:
char* strcpy(char* destinazione, const char* sorgente);

La funzione thestrcpy() copia la stringa puntata da source (incluso il carattere nullo) in


la destinazione.
• La funzione thestrcpy() restituisce anche la stringa copiata.
La funzione thestrcpy() è definita nel file di intestazione thestring.h.

Esempio: C strcpy()
#include <stdio.h>
#include <string.h>

int main() {
char str1[20] = "Programmazione C";
char str2[20];

// copiando str1 in str2


strcpy(str2, str1);

puts(str2); // Programmazione C

ritorna 0;
}

Uscita :
Programmazione in C
C strlen()
La funzione strlen() calcola la lunghezza di una stringa data.
La funzione Thestrlen() prende una stringa come argomento e restituisce la sua lunghezza. Il valore restituito è
di typesize_t (il tipo intero senza segno).
È definito nel file di intestazione <string.h>.

Esempio: funzione C strlen()


#include <stdio.h>
#include <string.h>
int main()
{
char a[20] = "Program";
char b[20]={'P','r','o','g','r','a','m','\0'};

// usando lo specificatore di formato %zu per stampare size_t


printf("Lunghezza della stringa a = %zu \n",strlen(a));
printf("Lunghezza della stringa b = %zu \n",strlen(b));

ritorna 0;
}

Lunghezza della stringa a = 7


La lunghezza della stringa b è 7

C strcmp()
In questo tutorial, imparerai a confrontare due stringhe utilizzando la funzione strcmp().
La funzione thestrcmp() confronta due stringhe carattere per carattere. Se le stringhe sono uguali, il
la funzione restituisce 0.

Prototipo di C strcmp()
Il prototipo della funzione di strcmp() è:
int strcmp (const char* str1, const char* str2);

Parametri di strcmp()
La funzione prende due parametri:
• una stringa
• str2 - una stringa
ReturnValue da strcmp()
Valore di ritorno Osservazioni
0 se le stringhe sono uguali
non zero se le stringhe non sono uguali

La funzione thestrcmp() è definita nel file di intestazione thestring.h.

Funzione C strcmp()

#include <stdio.h>
#include <string.h>

int main() {
abcd
int risultato;

// confrontare le stringhe str1 e str2


risultato = strcmp(str1, str2);
printf("strcmp(str1, str2) = %d\n", risultato);

// confrontare le stringhe str1 e str3


result = strcmp(str1, str3);
printf("strcmp(str1, str3) = %d\n", risultato);

restituire 0;
}

Uscita :

strcmp(str1, str2) = 1
strcmp(str1, str3) = 0

Nel programma,
• Le stringhe str1 e str2 non sono uguali. Pertanto, il risultato è un intero diverso da zero.
• Le stringhe str1 e str3 sono uguali. Pertanto, il risultato è 0.

Potrebbero piacerti anche