Molto spesso ci capita di dover invertire una stringa, per esercizio oppure per ne dobbiamo leggere un file al contrario.
Nei moderni linguaggi di programmazione abbiamo una funzione apposita che fa tutto il lavoro per noi.
Andiamo però a vedere in ANSI C come si fa.
Ecco la funzione reverse che rigirerà la stringa ed il relativo main per vedere come richiamarla.
Ad esempio: CIAO diventerà OAIC
[code lang=”c”]
#include <stdio.h>
#include <string.h>
void reverse(char * stringa)
{
size_t i,j;
for(i=0, j=strlen(stringa)-1;i<strlen(stringa)/2;i++, j–)
{
char temp=stringa[i];
stringa[i]=stringa[j];
stringa[j]=temp;
}
}
int main(void)
{
char stringa[]="una stringa di testo di una certa lunghezza";
reverse(stringa);
printf("%s", stringa);
return 0;
}
[/code]
Questo è tutto. Davvero semplice.