[英]Why am I getting negative one bytes for my output?
I tried to develop a simple metadata visualizer tool using C for visualizer engine for "png" file but I'm getting -1 for my output and I don't know why.我尝试使用 C 为“png”文件的可视化引擎开发一个简单的元数据可视化工具,但我的 output 得到-1,我不知道为什么。 Can someone show me where is the error?
有人可以告诉我错误在哪里吗?
#include <stdio.h> #include <stdio.h>
int main ()
{
FILE *file_input;
unsigned char c; //unsigned
long int counter=0L;
long int saizFail, curPos=0L, current=0L;
if ((file_input = fopen("C:\\Users\\User\\Pictures\\timetable.png", "rb"))=NULL)
printf("File cannot be opened");
fseek(file_input, 0L, SEEK_END); //
saizFail=ftell(file_input);
rewind(file_input);
printf("File size = %ld bytes\n\n", saizFail);
while (counter<100)
{
c=fgetc(file_input);
printf("counter %ld >> %X\n", counter, c);
counter++;
}
printf(">>File size = %ld bytes\n\n", saizFail);
fclose(file_input);
getchar();
}
You meant to use ==
, but used =
instead.您打算使用
==
,但使用=
代替。
This line:这一行:
if ((file_input = fopen("C:\\Users\\User\\Pictures\\timetable.png", "rb"))=NULL)
Should be:应该:
if ((file_input = fopen("C:\\Users\\User\\Pictures\\timetable.png", "rb"))==NULL)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.