Funzioni per archi popolari in C [con esempi]

Pubblicato: 2020-10-21

Le stringhe in linguaggio C sono una matrice di caratteri terminati con caratteri nulli ('\0'). Il carattere nullo alla fine di una stringa ne indica la fine e le stringhe sono sempre racchiuse tra virgolette. Nel linguaggio C i caratteri sono racchiusi tra virgolette singole. Alcuni esempi di entrambi mostrati di seguito;

Esempio o rappresentazione di caratteri C e stringhe

  • char string[10] = { 's','d','f','d','t','j','a','\0' };
  • char string[10]="più fresco";
  • char string[]="più fresco";

C'è una piccola differenza tra le dichiarazioni delle stringhe in entrambe le istruzioni precedenti. Come quando dichiariamo char come string[10], vengono allocati 10 byte di spazio di memoria per contenere i 10 valori di string, mentre quando lo dichiariamo come string[], la memoria viene allocata al momento dell'esecuzione del programma.

Sommario

Dichiarazione di stringa e inizializzazione

Nella programmazione C, le stringhe possono essere dichiarate in due modi come mostrato sopra. Nella programmazione C, una stringa è una sequenza di caratteri terminata con un carattere nullo o '\0'. Un esempio dello stesso è riportato di seguito:

char temp[]=” stringa temporanea”;

Quando una stringa di caratteri viene dichiarata di tipo char racchiusa tra virgolette doppie, \0 viene automaticamente aggiunto alla fine della stringa. Per esempio:

char temp[]=” stringa temporanea”;

T e m P S T R io n G \0

Dichiarazione di stringa

Una stringa in linguaggio C viene dichiarata nel modo seguente:

char temp[5];

s[0] s[1] s[2] s[3] s[4]

In questo modo possiamo inizializzare una stringa di lunghezza 5.

Inizializzazione delle stringhe

L'inizializzazione delle stringhe può essere eseguita in molti modi e alcuni di essi sono riportati di seguito:

char t[]=” stringa temporanea”;

char t[10]=” stringa temporanea”;

char t[]={'t','e','m', 'd','\0'};

char t[5]={'t','e','m', 'd','\0'};

T e m P \0

t[0] t[1] t[2] t[3] t[4]

Nel tipo di dichiarazione sopra, possiamo memorizzare solo le stringhe che hanno solo quattro caratteri, mentre se vuoi memorizzare cinque caratteri in tale stringa o array, potresti aver bisogno di un array di caratteri di lunghezza maggiore.

Leggi: Array di stringhe in Java: Array di stringhe Java con esempi di codifica

Assegnazione di valori alle stringhe

Matrici e stringhe non supportano gli operatori di assegnazione. Una volta dichiarate le stringhe, non è possibile assegnare i valori alle variabili di tipo stringa. Ad esempio in linguaggio C non possiamo scrivere e assegnare i valori nel modo seguente:

carattere t[100];

t=” valore temp”;

Gestione delle corde in C

Ora arruolamo alcune delle popolari funzioni di stringa in C che semplificano la gestione delle stringhe. Molteplici operazioni sulla stringa come leggere la stringa, copiare o invertire la stringa e molte altre operazioni possono essere facilmente eseguite sulle stringhe utilizzando queste funzioni.

Gli operatori di stringa o le funzioni di stringa possono essere utilizzati direttamente per manipolare le stringhe. Qui, in questo articolo spiegheremo le funzioni della libreria come gets(), puts(), strlen(), strcopy() e molte altre per spiegare la gestione delle stringhe in C.

A volte i programmatori devono scrivere le funzioni di stringa per manipolarle in base al problema richiesto. Tuttavia, la manipolazione delle stringhe può essere eseguita manualmente, ma ciò può rendere la programmazione piuttosto complessa e ampia.

Esiste una libreria standard di funzioni di stringa in C nota come "string.h". Questo file di intestazione con estensione ".h" ha molte funzioni di gestione delle stringhe con sintassi diversa. Ne discuteremo alcuni nella sezione seguente di questo articolo:

Elenco di alcune comuni funzioni di gestione delle stringhe in C

Funzione Descrizione
stringere() Può calcolare la lunghezza della stringa
Strcpy() Può copiare il contenuto di una stringa in un'altra
Strcat() Viene utilizzato per concatenare o unire due stringhe
Strcmp() Può confrontare due stringhe
strwr() Può convertire la stringa in minuscolo
Strupr() Viene utilizzato per convertire le lettere della stringa in maiuscolo
Strev() Serve per invertire la stringa

Quando devi usare una qualsiasi delle funzioni di gestione delle stringhe nel tuo programma, le funzioni non sono limitate solo a queste molte. Ci sono anche molte altre funzioni. Quindi, discutiamoli:

1) puts() e gets()

Le due funzioni popolari del file di intestazione della stringa gets e puts vengono utilizzate rispettivamente per prendere l'input dall'utente e visualizzare la stringa. Entrambe queste funzioni sono definite nel file string.h. Vediamo un esempio di queste funzioni:

#includi principale()

Int principale()

{

char temp[20];

printf("Inserisci il tuo nome");

ottiene(temp);

printf("Mi chiamo: ");

mette(temp);

restituire 0;

}

2) strcat()

Per i casi in cui una stringa deve essere aggiunta alla fine di un'altra stringa, viene utilizzata questa funzione. La funzione strcat può aggiungere una copia della stringa di origine alla fine della stringa di destinazione. L'utente deve passare due argomenti descritti di seguito:

i) src

ii) dest

Qui al posto di “src” viene specificata la stringa, mentre al posto di 'dest' viene specificata la stringa di destinazione a cui dobbiamo aggiungere la stringa sorgente.

Esempio

#include<stringa.h>

int principale()

{

char src[20]= “prima”;

char dest[20]= “dopo”;

strcat(destinazione, src);

mette (destina);

restituire 0;

}

L'output sarà: dopo prima

3) Funzione strlen()

Un'altra funzione del file di intestazione della stringa che può essere utilizzata direttamente per le stringhe è strlen(). Puoi usare la funzione strlen(), la funzione di stringa in C , quando devi scoprire la lunghezza di qualsiasi stringa. Tuttavia, si può anche scrivere un programma manualmente per scoprire la lunghezza di qualsiasi stringa, ma l'uso di questa funzione diretta può farti risparmiare tempo e l'esempio è riportato di seguito:

#include<stdio.h>

int principale()

{

lunghezza intera;

char s[20] = “Siamo qui”;

lunghezza=stringa(i);

printf(“\La lunghezza della stringa è = %d \n”, lunghezza);

restituire 0;

}

La lunghezza della stringa è = 11

4) Funzione strcpy()

Se devi copiare il contenuto di una stringa in un'altra stringa, viene utilizzata questa funzione. La sintassi della funzione è strcpy(dest,source). La funzione può copiare il contenuto di una stringa in un'altra. Un esempio della funzione è riportato di seguito:

#include<stringa.h>

int principale()

{

char src[20]= “ Destinazione”;

char dest[20]= “”;

printf(“\n stringa sorgente è = %s”, src);

printf(“\n stringa di destinazione è = %s”, dest);

strcpy(destinazione, src);

printf ("\nta stringa di destinazione dopo strcpy() = %s", dest);

restituire 0;

}

Produzione

La stringa di origine è = Destinazione

La stringa di destinazione è =

Stringa di destinazione dopo strcpy() = Destinazione

Impara: StringBuffer vs. StringBuilder: differenza tra StringBuffer e StringBuilder

5) Funzione strcmp()

Per confrontare due stringhe per sapere se sono uguali o meno possiamo usare la funzione strcmp(). La funzione restituisce un valore definito che può essere 0, >0 o <0. In questa funzione, i due valori passati sono trattati come maiuscole e minuscole significa che 'A' e 'a' sono trattati come lettere diverse. I valori restituiti dalla funzione vengono utilizzati come:

i) 0 viene restituito quando due stringhe sono uguali

ii) Se str1<str2 viene restituito un valore negativo

iii) Se str1>str2 viene restituito un valore positivo

Esempio:

#include<stdio.h>

#include<stringa.h>

int principale()

{

char str1[]=”copia”;

char str2[]=”Trofeo”;

int I,j,k;

i=strcmp(str1, “copia”);

j=strcmp(str1, str2);

k-strcmp(str1, “f”);

printf(“\n %d %d %d”,I,j,k);

restituire 0;

}

Uscita: 0 -1 1

6) Funzioni strlwr() / strupr()

A volte potrebbe essere necessario convertire le lettere minuscole di qualsiasi stringa in maiuscolo o viceversa. A questo scopo ci sono due funzioni di stringa diretta in C , che possono essere utilizzate per eseguire le conversioni da maiuscolo a minuscolo o viceversa. Qui, abbiamo spiegato un esempio dello stesso:

#include<stdio.h>

#include<stringa.h>

int principale()

{

char str[]=”CONVERTI in minuscolo”;

printf(“%s\n”, strlwr(str));

restituire 0;

}

Output: convertimi in minuscolo

Allo stesso modo, se utilizzeremo la funzione strupr al posto di strlwr, tutto il contenuto verrà convertito in lettere maiuscole. Possiamo usare la funzione strupr, definita nel file di intestazione della stringa. Attraverso questa funzione vengono convertite tutte le lettere della stringa, anche questo senza lunghe procedure manuali.

7) Funzione strrev()

Se vuoi invertire qualsiasi stringa senza scrivere manualmente alcun programma enorme o esteso, puoi utilizzare questa funzione. La funzione strrev() viene utilizzata per invertire il contenuto della stringa. La funzione Strrev viene utilizzata per verificare la natura della stringa, indipendentemente dal fatto che la stringa data sia palindroma o meno. Sono presenti anche molti altri usi e applicazioni della funzione di inversione delle stringhe. Uno dei suoi usi è riportato di seguito:

#include<stdio.h>

#include<stringa.h>

int principale()

{

char temp[20]=”Reverse”;

printf("La stringa prima dell'inversione è: %s\n", temp);

printf("Stringa dopo strrev() :%s", strrev(temp));

restituire 0;

}

Alcune altre funzioni di gestione delle stringhe con lo scopo:

Come abbiamo detto in precedenza, esistono più funzioni di stringa in C. Alcune altre funzioni comunemente utilizzate per la gestione delle stringhe in C sono:

Funzione Scopo
stringere() Restituisce un puntatore alla prima occorrenza di char in str1
strdup() Può duplicare la stringa
strset() Imposta tutti i caratteri di una stringa sul carattere specificato
strrchr() Utilizzato per individuare l'occorrenza di un primo carattere di puntamento

Leggi anche: Scanner Class in Java: tipi di costruttori e metodi, come usare

Parole finali

Proprio come ogni altro linguaggio C, ha anche una vasta libreria di funzioni pronte per l'uso o integrate. Per gestire qualsiasi stringa di caratteri, puoi utilizzare direttamente queste funzioni. Tuttavia, le funzioni non si limitano a queste. Ci sono molte altre funzioni di stringa in C nel file di intestazione. Il principale vantaggio di loro è ridurre il tempo e la durata della codifica.

Se sei interessato a saperne di più su Java, OOP e sviluppo software full-stack, dai un'occhiata al Diploma PG di upGrad e IIIT-B in Sviluppo software full-stack, progettato per i professionisti che lavorano e offre oltre 500 ore di formazione rigorosa, 9 + progetti e incarichi, stato di Alumni IIIT-B, progetti pratici pratici e assistenza sul lavoro con le migliori aziende.

Prepararsi per una carriera del futuro

APPRENDIMENTO AFFIDABILE DEL SETTORE - CERTIFICAZIONE RICONOSCIUTA DEL SETTORE.
Per saperne di più