C中的“-1L”,“1L”等是什么意思?
例如,在ftell引用中,它说
这是什么意思 ? “1L”是什么类型?
如果发生错误,为什么不返回NULL呢?
最佳答案
L
指定数字为long
类型,因此-1L
是设置为负数的long
,而1L
是设置为正数的long
。
至于为什么ftell
不仅仅返回NULL
,这是因为NULL
用于指针,并且在这里返回了long
。请注意,未使用0
,因为0
是ftell
返回的有效值。
捕获这种情况涉及检查非负值:
long size;
FILE *pFile;
...
size = ftell(pFile);
if(size > -1L){
// size is a valid value
}else{
// error occurred
}
关于c - C语言中的 “-1L”是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4115566/