String in C
String in C
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.
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
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;
}
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.
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.
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);
}
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:
#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() è:
argomenti di strcat()
Come puoi vedere, la funzione thestrcat() prende due argomenti:
meta
origine- stringa di origine
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);
Esempio: C strcpy()
#include <stdio.h>
#include <string.h>
int main() {
char str1[20] = "Programmazione C";
char str2[20];
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>.
ritorna 0;
}
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
Funzione C strcmp()
#include <stdio.h>
#include <string.h>
int main() {
abcd
int 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.