今天我们来说一下linux下文件读取操作常用的API,read函数,还是一样我们先看man手册查看函数用法以及头文件
大家都看得出来read函数从文件描述符指向的文件 读出count个字节放入buf中,如果读取成功返回你所读的字节个数,失败的话返回-1;这里要注意如果read函数读到文件尾部返回值为0。
话不多说我们来练习一下read函数的使用方法;首先我们cp一下上次的write函数代码来修改
我们这次定义一个整型数n_write用来接收write函数的返回值,如果成功我们打印我们所写入文件的个数,然后我们在定义一个readbuf用于read函数接收存放数据,为了防止野指针用malloc强转,并用n_read接收read函数的返回值然后打印我们所读出的个数和内容。不知道大家能不能看出些小问题?
给大家看一下程序执行的结果
为什么显示读取个数是0呢,而且没有显示内容。其实答案很简单,linux文件操作还有一个光标的概念,当我们