字符串从内存写入到磁盘的过程中到底发生了什么(一)

有个朋友问我说写的挺好,但是不知道怎么实践。我本来说看看Sqlite源码,但想想对于新手直接看源码还不现实的。和几个朋友讨论了下这个问题,发现了一个野鸡网站,里面有一个关于I/O存储的题。看了下题目设计和评测规则,挺靠谱的,新手去写写这个题对I/O优化很应该能有很大提升。这里是链接,大家可以去看看,感觉这题好好做做再去看Sqlite,就没有那么困难了。


相信每个程序员都往磁盘写过数据,然而写磁盘的过程到底发生了什么呢?这次我就来带领大家来一次大冒险。

示例代码

这段代码的作用就是往一个data文件中写入Hello, World!。我们就以这段C代码和Linux系统(内核版本4.X)为例子来讲解。

#include <stdio.h>

int main() {
    FILE* f = fopen("data", "w+");
    fputs("Hello, World!", f);
    fclose(f);
}

API到系统调用

<
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值