写进去几个,读回来几个

(本条路线统一用 gcc -std=c11 -O0 -Wall 编译)自己写、自己读,三个回执一起看: #include <stdio.h> #include <string.h> int main(void) {

开始练习 →

先问一句"开成了没"

(本条路线统一用 gcc -std=c11 -O0 -Wall 编译)第一个路径根本不存在,第二个是临时文件。

开始练习 →

⚠️ 自己写一遍,再自己读回来

(本条路线统一用 gcc -std=c11 -O0 -Wall 编译)三个回执都要对:写了几个、读了几个、内容一不一样。

开始练习 →

🔴 一行一行读回来,顺手数一数

(本条路线统一用 gcc -std=c11 -O0 -Wall 编译)每行是「名字 数量」,把行数和数量总和都数出来。

开始练习 →

文件描述符是个什么东西

open 交回来的那个 int,它是【0】。

开始练习 →

🔴 `open` 失败时交回什么

open 打不开时交回【0】。

开始练习 →

⚠️ 读回来的比要的少,说明什么

要求读 100 个字节,read 交回 40,说明【0】。

开始练习 →

写进去几个,读回来几个(系统调用版)

(本条路线统一用 gcc -std=c11 -O0 -Wall 编译)⚠️ 这一节用 POSIX 的 open/read/write,在 -std=c11 下**必须**先写一行 #define _POSIX_C_SOURCE 200809

开始练习 →

🔴 短读:转着圈读,读够为止

(本条路线统一用 gcc -std=c11 -O0 -Wall 编译)⚠️ 这一节用 POSIX 的 open/read/write,在 -std=c11 下**必须**先写一行 #define _POSIX_C_SOURCE 200809

开始练习 →

⚠️ 判 fd,别判 NULL

(本条路线统一用 gcc -std=c11 -O0 -Wall 编译)第一个路径不存在,第二个一定开得成。

开始练习 →