C言語-#5.strupr,strlwr
はおっ。
文字列を大文字・小文字に変換する関数
strupr
char* strupr(char* s) {
char* t_s = s;
while (*s) {
*s = toupper(*s);
++s;
}
return t_s;
}
strlwr
char* strlwr(char* s) {
char* t_s = s;
while (*s) {
*s = tolower(*s);
++s;
}
return t_s;
}
おしまい
toupper, tolowerを使用して *s にNULLがくるまで繰り返します。当然 NULLチェックはありません。
ここで副作用が発生します。引数の s を関数内で書き換えてしまうためです。副作用とは関数内にて入力、または関連する変数などが書き換えられてしまうことを言います。正しく言うならプロシージャーと呼んだほうがいいかもしれませんね~。