見出し画像

C言語-#10.strrev

はおはお。

文字列の反転。これも C標準ライブラリにはないですね。けど実装です。


strrev

char* strrev(char* s)
{
  int i, j;

  for (i = 0, j = strlen(s) - 1; i < j; ++i, --j) {
    char ch = s[i];
    s[i] = s[j];
    s[j] = ch;
  }

  return s;
}

とくにコレといって難しいことはしていなく、バッファの両端から文字を入れ替えるだけの処理です。

おわり

もちろん2バイト文字には対応していません。その辺はまた後で 2バイト文字を扱うようになってから。
でも今は Unicodeが当たり前なのであまり意味はないかもしれないっすね。
Unicode版にすればいい話なのか?!

悉く書を信ずれば則ち書無きに如かず