1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
|
#include <stdio.h>
#include <string.h>
#include <ctype.h>
int get_next (char const alpha[], int c)
{
int c_out = c;
char *p = strchr (alpha, c);
if (p != NULL)
{
ptrdiff_t i = (p - alpha + 1) % 26;
c_out = alpha[i];
}
return c_out;
}
void modifchaine (char *s_new, char const *s_old)
{
int i;
int n = strlen (s_old);
for (i = 0; i < n; i++)
{
unsigned c = s_old[i];
if (isalpha (c))
{
if (isupper (c))
{
c = get_next ("ABCDEFGHIJKLMNOPQRSTUVWXYZ", c);
}
else
{
c = get_next ("abcdefghijklmnopqrstuvwxyz", c);
}
}
s_new[i] = c;
}
s_new[i] = 0;
}
int main (void)
{
char const chaine1[] = "Hello worldz";
char chaine2[100];
modifchaine (chaine2, chaine1);
printf ("chaine1 = '%s'\n", chaine1);
printf ("chaine2 = '%s'\n", chaine2);
return 0;
} |
Partager