おいて、1バイト目にも2バイト目にも含まれません。2バイトで構成されます。関数にて切り分けられている為に起きているようですね。辺りを使うと恐らく幸せになれるでしょう。ファイル名からフォルダに振り分けるソース任意のディレクトリ等からファイルを検索し、見つかったファイルのファイル名から、振り分けたい。言う事だと思いますが。環境が何も書いてないので、C言語だと仮定しますが、C言語の標準的な機能のみでは不可能です。環境を書いてください。バイトの整数値としてバイナリ形式で書き込むこの条件が、ほとんどの環境で満たされていないと思います。試食版でさえ、int型は2バイトです。使用しているコンパイラを教えてください。コードは見づらすぎてさっぱり見てませんが。一般に1バイトで整数型です。これは、少々危険な気がしますね。ある構造体があったとして、この構造体のサイズは処理系依存です。一般に、構造体をそのままファイルへダンプするのはあまりよろしくありません。結局のところ何らかの形で切り分けていく必要があると思います。スマートな読み込みプログラムの書き方コードの書き方という事でしたら、若干スパゲッティ化してますので、これを解決するのが第一の目標でしょう。不要なカウンタが多いです。原則としてカウンタを減らすのは軽く禁じ手です。日本語でコードを書いてみるとすっきりします。1関数は、1機能だと心がけてください。読み込むファイルを関数内で、決め打ちしてますが、これは引数として渡すべき物です。プログラムを殺してしまう関数はあまり好ましくありません。戻り値を利用し、失敗時にはエラーを返すようにするべきです。正否の判断は、呼び出し元に責任を負わせた方がいいです。コンパイラの字句解析プログラムについて1)intValを計算している部分をどこなのか抜粋せよ。この2点についてお願いします。タグが使われていないので、行番号が分かりませんが。バッファのクリア#と、ここまで解説したのですが、scanf("%d",&place)ならscanf("%*[^\n]")でもバッファクリアできそうですね。して入力バッファには改行コードが残ります。数字では無いので読み込まれません。