如何修复使用fscanf()时出现的警告?

时间:2015-06-15 22:23:55

标签: c warnings scanf

我正在使用int从文件中读取一些FILE *fp = NULL; fp = fopen(argv[1],"r"); int num; while(fscanf(fp,"%d",&num) != EOF) // This is the line 46 printf("%d ",num); 值。它工作正常,但我这样做的方式,编译器会发出一些警告。

来源:

passing argument 1 of ‘fscanf’ from incompatible pointer type
format not a string literal and no format arguments [-Wformat-security]
passing argument 2 of ‘fscanf’ from incompatible pointer type
Line breakpoint: main.c [line: 46] 

警告:

free()

我做错了什么?

2 个答案:

答案 0 :(得分:0)

你只需要括号

a = ProductPart.objects.values().filter(part__variety_name=v.variety_name)

答案 1 :(得分:0)

重新定义fscanf的原型,实际代码不同E.g fscanf("%d",&num)。 (在保存之前?) - BLUEPIXY