大佬教程收集整理的这篇文章主要介绍了在关闭的文件上fprintf不应该失败吗?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
$cat fprintf-closed-file.c #include <stdio.h> int main() { FILE * ofile = fopen("/tmp/goo","w"); int success = fprintf(ofile,"Hello %s\n","World!"); printf("success: %d\n",success); fclose(ofilE); success = fprintf(ofile,"Trying again..."); printf("success: %d\n",success); } $clang -o fprintf-closed-file fprintf-closed-file.c $./fprintf-closed-file success: 13 success: 15 $cat /tmp/goo Hello World!
C11标准的第7.21.6.1节说:
接下来是转换说明符的描述,但结尾为:
看来假定文件在第二次fprintf调用时关闭,它应该会失败,但事实并非如此.我在Kubuntu Trusty 64位上使用Clang 4.0.1和GCC 4.8.4对此进行了测试.
我对标准的理解是否有缺陷,还是应该提交错误?
以上是大佬教程为你收集整理的在关闭的文件上fprintf不应该失败吗?全部内容,希望文章能够帮你解决在关闭的文件上fprintf不应该失败吗?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。