ZBLOG

lseek

lseek函数是一个文件偏移量操作函数,用于设置文件的当前读/写位置。

下面是一个简单的示例代码,演示了如何使用lseek函数将文件指针定位到文件末尾,并在末尾添加内容:

#include <fcntl.h>
#include <unistd.h>

int main() {
    const char *filename = "example.txt";
    
    // 打开文件,如果不存在则创建
    int fd = open(filename, O_WRONLY | O_CREAT, 0644);
    
    if (fd != -1) {
        const char *content = "Hello, World!\n";
        
        // 将文件指针定位到文件末尾
        off_t offset = lseek(fd, 0, SEEK_END);
        
        if (offset == -1) {
            printf("定位到文件末尾失败\n");
            close(fd);
            return 1;
        }
        
        // 写入内容
        ssize_t bytes_written = write(fd, content, strlen(content));
        
        if (bytes_written == -1) {
            printf("写入文件失败\n");
            close(fd);
            return 1;
        }
        
        printf("已在文件末尾追加内容\n");
        
        // 关闭文件描述符
        close(fd);
    } else {
        printf("无法创建或打开文件\n");
        return 1;
    }
    
    return 0;
}

上述代码中,我们首先使用open函数打开或创建指定的文件。然后,通过lseek函数将文件指针移动到相对于当前位置的偏移量为0的位置(也就是当前位置),通过指定SEEK_END参数,我们实现了将文件指针定位到文件末尾。

接下来,我们使用write函数向文件中追加内容。最后,别忘记关闭文件描述符以释放资源。

请注意,在实际应用中,还需要进行适当的错误处理和资源管理。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://sdn.0voice.com/?id=4349

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?