Libreria string.h in C

Studieremo oggi alcune funzioni della libreria string.h in C, in particolare le funzioni strcmp(), strcpy(), strcat(), strncmp(), strncpy(), strncat().

Nella lezione precedente abbiamo visto degli esempi sulla concatenazione delle stringhe senza far uso delle funzioni di libreria.

Funzione strcmp della libreria string.h in C

La prima funzione che vedremo è la funzione strcmp(stringa1, stringa2).

Questa funzione restituirà zero se le stringhe sono identiche, altrimenti darà un numero positivo se la prima stringa è maggiore della seconda, altrimenti restituirà un valore negativo.

Esempio di uso della funzione strcmp

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

int main() {
  char coding[40]="Coding creativo ";
  char sito[40]="www.codingcreativo.it";
  int x;

  if ((x=strcmp(coding,sito))==0)
      printf("sono uguali");
  else if(x>0)
      printf("la prima e' maggiore della prima");
  else 
      printf("la seconda e' maggiore della prima");
  return 0;
}

L’esempio sopra mi restituirà un numero negativo, quindi visualizzerà: ‘la seconda è maggiore della prima’. La relazione d’ordine tra le stringhe è definita dalla relazione d’ordine della codifica ASCII dei caratteri che la compongono:

‘0’ < ‘9’ < ‘A’ < ‘Z’ < ‘a’ < ‘z’

Funzione strncmp della libreria string.h in C

La funzione strncmp(stringa1,stringa2,n); confronta i primi n caratteri.

Questa funzione si comporta come la strcmp.

Esempio di uso della funzione strncmp

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

int main() {
  char coding[40]="Coding creativo ";
  char sito[40]="Coding";
  int x;

  if ((x=strncmp(coding,sito,6))==0)
     printf("sono uguali");
  else if(x>0)
     printf("la prima e' maggiore");
  else 
     printf("la seconda e' maggiore");
  return 0;
}

In questo caso viene restituito zero perchè confronta solo i primi 6 caratteri delle due stringhe che sono uguali. Quindi verrà visualizzato il messaggio: ‘sono uguali’.

Funzione strcpy della libreria string.h in C

Questa funzione consente di copiare stringa2 su stringa1 e la sintassi è questa:

strcpy(stringa1,stringa2);

Esempio di uso della funzione strcpy

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

int main() {
  char coding[40]="Coding creativo ";
  char sito[40];

  strcpy(sito,coding);
  printf("%s", sito);

  return 0;
}

In questo progamma la funzione strcpy copierà nella stringa sito il contenuto di coding.

Funzione strncpy della libreria string.h in C

La funzione strncpy(stringa1, stringa2, n); copierà solo n caratteri di stringa2 su stringa1.

Esempio di uso della funzione strncpy

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

int main() {
  char coding[40]="Coding creativo ";
  char sito[40];

  strncpy(sito,coding,6);
  printf("%s", sito);

  return 0;
}

Funzione strcat della libreria string.h in C

La funzione strcat(stringa1,strinaga2); concatenerà le due stringhe.

Esempio di uso della funzione strcat

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

int main() {
  char coding[60]="Coding creativo, ";
  char sito[23]="www.codingcreativo.it";

  strcat(coding,sito);
  printf("%s", coding);

  return 0;
}

In questo caso verrà visualizzato in output:

‘Coding creativo, www.codingcreativo.it’

Funzione strncat della libreria string.h in C

L’ultima funzione che vederemo oggi è la funzione strncat(stringa1,stringa2,n) che copierà n caratteri della stringa2 sulla stringa1.

Esempio di uso della funzione strcat

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

int main() {
  char coding[18]="Coding creativo, ";
  char sito[60]="www.codingcreativo.it";

  strncat(sito,coding,6);
  printf("%s", sito);

  return 0;
}

In questo esempio si visualizzerà in output:

‘www.codingcreativo.it coding’


Alcuni link utili:

Array di caratteri in C

Ricerca di un elemento in una matrice

Prodotto tra matrici

Somma tra due matrici in C

Array multidimensionali

Tavola pitagorica in C

Array o vettori in linguaggio C

Media dei numeri in un array in linguaggio C

Esempio di array con numeri random in C

Quick sort in C

Selection sort in C

Merge sort in C

Insertion Sort in C


Autore dell'articolo: cristina

Avatar per Coding Creativo

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *