前提・実現したいこと
・前提
C言語をあまり普段使用しないが、必要だったのでC言語で実現したいと考えている。
・やりたいこと
stat構造体を使用してファイルサイズを取得。
取得後、ファイルサイズのバッファを作成し、freadで読み込む。
発生している問題・エラーメッセージ
size > size2で終了してしまうことである。
size == size2でファイル分のバイナリデータを読み込みたい。
該当のソースコード
C
1struct stat stbuf; 2FILE *fIn; // 代入済み 3 4int fd = open(fileInName, O_RDONLY); 5fstat(fd, &stbuf); 6unsigned long size = stbuf.st_size; // sizeはバイナリエディタで確認したバイト数と同じであった。 7 8unsigned char bin[size]; 9// ここでsize > size2(0x1Aで読み込みを終了してしまう。) 10unsigned long size2 = fread(bin, sizeof(unsigned char), size, fIn); 11
試したこと
unsigned charの部分をintに変えたりしていたが同じ箇所で読み込みが止まってしまう。
補足情報(FW/ツールのバージョンなど)
コンパイラはWindowsPowerShellでgccコンパイラを使用している。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/06/03 15:55
2018/06/03 16:31
2018/06/03 17:07
2018/06/03 23:47