質問: column_6+4-(column_6%4); char post_output[resultLen]; last_encode(post_lib, post_output, column_6); for(int i=0; i<=resultLen-1; i++){ printf("%c", post_output[i]); }printf("\n"); return 0; } ``` その他のファイルはにあります。 ### 補足情報(言語/FW/ツール等のバージョンなど) シェル bash OS archlinux コンパイラ gcc
回答: len()がおかしいというのはあなたの質問で割りと何度も指摘されています。 じゃあなんでechoで正しくうごかなくて、直接起動だとうまくいくように見えるかですが、 実のところ直接起動でも正しく動いていません。 "Hello World"を入力していると思いますが、 渡されているのは"Hello World**\n**"です。 あなたのプログラムは1文字落とすというバグがあるようなので、 "Hello World"を入力したつもりで"Hello World\n"を渡し、 "Hello World\nが一文字落ちてしまって"Hello World"になってうまく動いているように見えるだけです。