掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ファイル入出力で制御文字がある場合は (ID:54685)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
バイナリを扱うときにstrlenを使うことはできません。 この時点で,多分データが消えているのでしょう。 ついでに無駄なmemsetが多い気がします。 さらに,memsetの第二引数にNULLを指定するのは誤りです。 第二引数はintであってポインタではないですから。 http://www.kouno.jp/home/c_faq/c5.html#9 http://www.cmagazine.jp/src/kinjite/c/null.html#index4 > fgets()は、'\0'か改行文字までを読み込み、バッファに余裕があれば最後に > 改行文字を付加します。 > バッファ全部を使い切った場合、改行文字は付加されません fgetsはナル文字があろうが全く無視して読み続け,バッファが埋まるか, 改行文字を見つけるか,ファイルの末尾まで達したときに,読み込みを終了します。 改行文字を見つけた場合はそのまま改行文字をバッファに書き込みます。 そして,バッファにナル文字を追加します。 fgetsが付加するのは最後のナル文字のみであり, 改行文字を勝手に付加することはありません。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.