У меня возникла проблема с обращением строки, содержащей этот 'abcd 汉字 efg'.
str_to_reverse = "abcd汉字efg"; /* those non-ASCII chars are Chinese characters, each of them takes 2 bytes */
после реверсии, должно быть:
str_toreverse = "gfe字汉dcba";
Я думал, чтобыперевернуть строку, я должен идентифицировать эти не-ASCII-символы, потому что я думаю, что простое обращение каждого байта не даст правильного ответа.
Как я могу это сделать?
PS: Янаписал эту программу под Ubuntu, 32-bit.затем я распечатал каждый байт:
for(i = 0; i < strlen(s); i++)
printf("%c", s[i]);
Вместо «汉字» я получил немного бессмысленного текста.