Comment detail
末尾の空白文字を取り除く (Nested Flatten)マイナス評価を付けても反応が無かったので、ちゃんと指摘します。
次のような場合|123 |と出力されず、|123|と出力されます。文字列が空白だけの時は...((((;゜Д゜)))
char s[] = "123 ";
rtrim(s + 5);
printf("|%s|\n", s);
僕の勘違いでなければ問題の書き方にも問題があるように思いますね。 トピック全体にもいえることですけど お題を簡素に書きすぎてやるべきことがわかりにくい気がします。
その他の投稿でもchop系とtrim系が混ざっているので 判断つきにくいのではないでしょうか。
このお題は、末尾の空白文字を1文字削除する出よいのですか? それとも連続する空白をすべて削除する?
chop系とtrim系が混ざってる問題は確かにあるんですが、#4192はそれ以前の問題であることをyoheiさんは言っているのでは。(文字列の開始点をチェックしてないので渡されたデータより前にあるメモリにアクセスし、最悪破壊する可能性がある)。





mtsuyugu
#4192()
[
C
]
Rating-3/3=-1.00[open]
空白文字の判定は isspace を使っていますが、取り除かれる文字は ASCIIコードで [9, 10, 11, 12, 13, 32]。
Rating-3/3=-1.00-0+
1 reply [ reply ]