Można tak:
Kod:
char* poland(char* tablica)
{
int ascii[18]={-71,-91,-13,-45,-77,-93,-100,-116,-26,-58,-97,-113,-65,-81,-15,-47,-22,-54};
char pol[18]={165,164,162,224,136,157,152,151,134,143,171,141,190,189,228,227,169,168};
int a=strlen(tablica);
if(a>1024) a=1024;
static char wynik[1024];
strncpy(wynik,tablica,1024);
for(int b=0;b<a;b+=1)
{
for(int d=0;d<18;d+=1) if(wynik[b]==ascii[d])
{
wynik[b]=pol[d];
break;
}
}
return wynik;
}użycie
//u
char napis[]="żźćęąś";
printf("%s\n",poland(napis));
Ta funkcja nie zmienia tablicy źródłowej.