网络编程文件io的基本知识点

这部分基础知识点都是函数,把函数名字功能参数返回值记下来即可。

当然了每一个函数都是接口。

接下来是知识点基本大纲

  1. io(标准io),(文件io)
  2. 对目标的基本操作
  3. 库(动态库),(静态库)
  4. 多进程
  5. 多线程

其中多进程需要扩充进程间的通讯,一共分为7种(非常重要)

      1无名管道

      2有名管道

      3信号管道

      4消息队列

      5共享内存

      6信号灯集

      7socket套接字通信

前6种为一台计算机内部传递,第7(套接字)很重要实现计算机与计算机传递信息。套接字内部含有ip和端口号,实现相互传递的功能。

  • Io

Io分为标准io(库函数)和文件io两种(系统调用)。其中库函数存在缓冲区,而系统调用没有缓冲区。库函数=缓冲区+系统调用。

  • 常见的标准io和文件io的函数接口

标准io(创建文件需要有缓存区使用标准io)

fopen,fclose,fread,fwrite,fputs,fputc,fgetc,fgets,printf,scanf等。

文件io(创建文件不要要缓存区需要频繁发送信号(鼠标))

Open,close,write,read。

*缓冲区大小及种类

缓冲区种类可以分全缓存(fd),行缓存(stdin,stdout),不缓存(stderr)

全缓存大小(4096=4k)行缓存(1024=1k)不缓存0

刷新行缓存

1.换行符“\n”  2.程序结束  3.输入输出发生切换  4文件指针被关闭  

5行缓存满了  6使用函数fflush刷新(fflush(stdout))

刷新全缓存

1.程序结束  2.输入输出发生切换  3文件指针被关闭  

4行缓存满了  5使用函数fflush刷新(fflush(fd))

  • 标准io的创建

创建一个标准io都需要创建一个结构体指针(FILE)指向创建的标准io文件.

3个特殊的FILE指针(正在执行的程序这3个指针可正常使用)。

Stdin(标准输入)stdiut(标准输出)stderr(标准错误)

****接下来就是函数,所有函数均可以man+函数名可以看详情****

***返回值一定要重视(我在这里不体现),在长篇代码中需要中途看返回值,找出代码错误***

标准io与文件io的区别

文献

区别一:是否有缓冲机制。标准IO有缓冲(全缓冲、行缓冲、不缓冲),文件IO无缓冲

区别二:函数来源不同,也就是生产厂家不同。标准IO来自于标准c库,文件IO来自于LINUX内核,系统调用。

区别三:这两种IO操作文件的入口不一样。标准IO操作的文件入口是文件流,文件IO操作的文件入口是文件描述符。

区别四:标准IO是凌驾于所有操作系统之上的IO,而文件IO是跟操作系统有关的。

文件I/O(低级I/O)是Linux系统调用,通过系统调用来访问文件,返回一个文件描述符,可以直接对文件进行读写。需要进行内核与用户之间的切换。

标准I/O(高级I/O)是c语言的标准库,返回一个指向文件结构的指针,建立缓冲区存储文件的数据,结构中记录着文件的信息,不在内核上操作,不需要频繁切换。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值