在C语言中,fseek()应该优先于rewind()。
null
请注意以下文本C99标准: 倒带功能将流指向的流的文件位置指示器设置为文件的开头。相当于
( void ) fseek (stream, 0L, SEEK_SET) |
除了流的错误指示器也被清除。
下面的代码示例使用rewind()将输入流的文件位置指示器设置回起始位置。但是无法检查回放()是否成功。
int main() { FILE *fp = fopen ( "test.txt" , "r" ); if ( fp == NULL ) { /* Handle open error */ } /* Do some processing with file*/ rewind (fp); /* no way to check if rewind is successful */ /* Do some more precessing with file */ return 0; } |
在上面的代码中,可以使用fseek()代替rewind()来查看操作是否成功。以下代码行可以用来代替倒带(fp);
if ( fseek (fp, 0L, SEEK_SET) != 0 ) { /* Handle repositioning error */ } |
资料来源: https://www.securecoding.cert.org/confluence/display/seccode/FIO07-C.+更喜欢+fseek%28%29+以+倒带%28%29
本文由 古普塔 。如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请发表评论。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END