- 博客(10)
- 收藏
- 关注
原创 Linux系统编程-文件共享
文件共享:多个任务共同操作一个文件或者协同完成任务。写程序删除一个文件的第10行。类似于删除数组的某一个元素,要做的是将后面的元素都往前移,覆盖要删除的那个元素。找到第10行的行首和第11行的行首,从第11行开始一个一个往前覆盖。
2024-08-05 06:07:15
152
原创 Linux系统编程-系统IO和标准IO的区别
有特殊情况,比如还未达到信的上限,但是有人比较急,这时就直接去送,有点类似与刷新缓冲区fflush。标准IO具有缓冲的机制,看着已经写进去了,实际上是放到了输出的缓冲区中。系统调用IO每一次都是从user态切换到kernel态,实时性高。标准IO吞吐量大,系统调用IO响应速度快。从用户的角度,用户体验感觉到程序变快是指吞吐量。所以在相同情况下,标准IO和系统调用IO都能解决问题的情况下,尽量使用标准IO。
2024-08-04 08:01:01
478
原创 Linux系统编程-open,close,重载和变参
第一个参数是待打开的文件名,第二个参数是位图。flags(位图)必须包含以下三项:只读,只写,读写。0个或多个文件的创建选项和文件的状态选项,可以以按位或的方式放到文件中去。第一个为只读。第二个为读写。第三个为只写,并且文件不存在的话要创建,而且文件存在的话要截断。第四个为读写,而且有则清空,无则创建。
2024-08-02 18:27:23
451
原创 Linux系统编程-文件描述符
文件描述符(fd)是在文件IO中贯穿始终的类型,实际上是整形数、数组下标。文件描述符优先使用当前可用范围内最小的一个,如果0,1,2,3,4,5,6都已被占用,但此时3关闭了,那么此时打开文件会占用3,而不是7。
2024-08-02 10:44:49
506
原创 Linux系统编程-getline函数
getline函数实际是由malloc和realloc函数共同封装而成的,一开始用malloc分配一块空间,不够之后再用realloc函数扩充。
2024-08-01 17:17:48
307
原创 Linux系统编程-文件位置函数和缓冲区刷新函数
因为printf函数将数据写入标准输出缓冲区,标准输出缓冲区时行缓冲,换行时刷新,所以这里什么都不输出。whence可以为SEEK_SET文件首,SEEK_CUR文件当前位置,SEEK_END文件尾。rewind是将文件位置指针seek到文件开始处,是用fseek函数封装的。offset是偏移量大小(可正可负),whence是偏移的相对位置。在printf最后增加换行符,刷新缓冲区。反映文件位置指针当前所在的位置。操作成功返回0,否则返回1。当参数为空时,所有流都被刷新。使用fflush刷新缓冲区。
2024-08-01 08:18:55
119
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人