标准 I/O 操作详解
1. 重置流与错误处理
在进行流操作时,有时需要将流的位置重置到开头,同时检查是否有错误发生。可以使用以下代码实现:
errno = 0;
rewind (stream);
if (errno)
/* error */
上述代码中, rewind 函数将流的位置重置到开头,同时将 errno 置为 0。如果重置过程中出现错误, errno 会被设置为相应的错误码。
2. 获取当前流位置
与 lseek() 不同, fseek() 不会返回更新后的位置。为了获取当前流的位置,可以使用以下两个函数:
2.1 ftell() 函数
#include <stdio.h>
long ftell (FILE *stream);
该函数返回流的当前位置。如果发生错误,它返回 -1 并设置 errno 。
2.2 fgetpos() 函数
#include <stdio.h>
int fgetpos (FILE *stream, fpos_t *pos);
成功时, fget
超级会员免费看
订阅专栏 解锁全文
2587

被折叠的 条评论
为什么被折叠?



