我需要一个具有只读权限的二进制文件来理解代码片段的输出,但我不知道如何创建一个二进制文件,所以我试图模拟它纸,但我不明白一个小部分。这里是代码:我不明白什么是fseek参数
FILE *fp;
char buf[256];
fp=fopen("test.dat", "rb");
fread(buf, 5, 4, fp);
fseek(fp, -5L, SEEK_CUR);
printf("%d", ftell (fp));
-5L是什么意思?我知道fseek上的“-value”意味着指针会在SEEK_CUR(当前位置)之前移动“值”位置,但我不知道-5L等于什么。
[fseek'documentation帮助](http://en.cppreference.com/w/c/io/fseek)? – WhozCraig
'ftell()'返回一个'long'。使用'printf(“%ld”,ftell(fp));'并启用所有编译器警告。 – chux
对于** - 5L **请参阅[此问题](http://stackoverflow.com/q/17332477/2800918) – CAB