長い間中断した後、私はcに戻ります。私はファイルサイズを出力するために書いた小さなプログラムです。それはコンパイルされ、正しく動作し、かなりmanページからコピーされ貼り付けられています。しかし、それはgccからの迷惑な警告を私に与える。'fstat'の警告メッセージを渡す警告プログラムは、キャストのないポインタから整数を作成します。
gcc -ggdb read_file_to_char_array.c -o read_file_to_char_array `mysql_config --cflags --libs && pkg-config --cflags --libs gtk+-2.0 && pkg-config --cflags --libs sdl`
read_file_to_char_array.c: In function ‘main’:
read_file_to_char_array.c:22:19: warning: [enabled by default]
/usr/include/i386-linux-gnu/sys/stat.h:216:12: note: expected ‘int’ but argument is of type ‘struct FILE *’`
私はそれが離れて行くことができますどのようになどの任意のヒント(警告を無効にせず;))
#include <sys/types.h>
#include <sys/stat.h>
#include <stdio.h>
#include <stdbool.h>
#include <string.h>
#include <unistd.h>
int main(int argc, char **argv) {
unsigned long *lengths;
FILE *fp;
struct stat sb;
fp = fopen("image.png", "rb");
fstat(fp,&sb);
printf(" Size - %lld : ", (long long)sb.st_size);
fclose(fp);
}
私はあなたのプログラムで20行しかカウントしないので、警告はどの行を参照しているのか分かりません。[pastebin](www.pastebin.com)にすべてを投稿してください。 –
画像ファイルに "rb"を使用すると+1 – bernie