Cを勉強してみた。-文字ってマジ怖い編-
とりあえずCで便乗してみた
文字については何も語りたくない。
”文字コード” ”エンコード” あたりの話は、下手に喋るとボロが出る。
まじ怖い。
今回は普通にASCIIコード('A'〜'Z'が連続しているって前提)を使って組みましたよ。
#include <stdio.h> #include <string.h> char around(char c); int main(void) { char str[100]; int shift; int i, len; /* Input */ printf("string?:"); scanf("%s", str); printf("shift?:"); scanf("%d", &shift); /* Shift */ for(i = 0, len = strlen(str); i < len; i++) { str[i] -= shift; str[i] = around(str[i]); } printf("and:%s\n", str); return 0; } char around(char c) { if ( c < 'A' ) { c += ('Z' - 'A' + 1); } return c; /* koko */ }
さすがにこれは10分も要らんわーとか言いながら数分で書き上げたら、/* koko */の部分を書き忘れて上手く動かず、原因を見つけるのに10分くらい掛かったのは秘密。
それくらい教えてよコンパイラ。。