linux系统编程:标准IO

1.标准io; stdio.h

   标准io的概念 1975 Dennis r IO库,C语言的标准,ANSI c 
    IO  input  output
    I: 键盘是标准输入设备 ====》默认输入就是指键盘  /dev/input
    O: 显示器是标准输出设备 ==》默认输出就是指显示器
    Linux操作系统当中IO都是对文件的操作
    C一部分,任何支持标准C的系统都可使用标准IO实现文件存储
    标准IO在UNIX上是对文件IO的封装
   
  一般都是对普通文件操作是一种有缓存的IO 在文件IO和用户程序之间,加入缓冲区,可以有效减少系统调用的效率,节省系统IO调度资源。

2.文件的概念,作用
    linux中一切都是文件。文件用来存储数据(数据,指令);
3,linux中文件的类型,
    7种,d ,-,l,p管道,s, ,c,b 用命令演示  link pip socket
    hello  oellh,,512 。

 io的分类
    标准io,
    stdio.h
    Dennis Ritchie
    标准IO:
    ANSI C 设计的一组用文件IO 封装的操作库函数
    头文件: stdio.h  ==》标准输入输出头文件
             /usr/include/stdio.h
            <>   是系统库函数,默认路径在/usr/include/
            eg : ====》stdio.h  ===>stdio.c==>libc.so ==>/usr/lib  so 动态库
            ""   是用户自定义函数,默认是当前路径
            eg : ===>xxx.h  ===>xxx.c
            
            man  man  ==>所有man的帮助
            man  xxx == man 1 xxx ===>查看当前xxx命令
            man 2 xxx  ===>查看xxx对应的系统调用函数
            man 3 xxx  ===》查看xxx对应的标准库函数

    注意:如果没有命令则直接man xxx 会显示其函数\n
      如果没有系统调用则显示系统库函数帮助
    printf scanf 
    sprintf
    getchar putchar gets puts\n
    getc putc fgets fputs fread fwrite ftell
    rewind fseek
    文件io,系统调用,底层软件
    文件内容的分类, 文本文件,二进制文件     
struct FILE
{
}
流:   FILE*
    数据从文件当中流入和流出所体现出来的字节
    流叫做流

    流的分类:
        二进制流: 2001 \n
            二进制数据的流
        文本流:
            ASCII码数据的流 \n \t 
FILE 结构定义的对象 FILE * 称之为流对象,也叫文件流指针。
流对象 ===》头 《===数据====》尾

stdin  FILE*   scanf ();
stdout         printf();
stderr

4.文件io操作

  1.fopen

  

    这里有两个参数:•filename: 要打开的文件名。•mode: 打开模式,可以是以下几种之一: •"r": 以只读方式打开文件。•"w": 以写入方式打开文件,如果文件不存在则创建。•"a": 以追加方式打开文件,如果文件不存在则创建。•"r+"/"w+"/"a+": 以读写方式打开文件。返回值是一个指向 FILE 结构体的指针,如果成功打开文件,则返回指向该文件的指针;如果失败,则返回 NULL。

     

2.读写操作相关

  

返回值:•如果成功读取了一个字符,fgetc 返回该字符的 unsigned char 类型值。•如果到达文件末尾(EOF),返回 EOF。•如果发生错误,也返回 EOF。•如果成功写入字符,fputc 返回该字符的 unsigned char 类型值。•如果发生错误,返回 EOF。

返回值:•如果成功读取了一行文本,fgets 返回指向字符数组的指针 s。•如果到达文件末尾(EOF)或读取过程中发生错误,返回 NULL.如果成功写入字符串,fputs 返回非负值。•如果发生错误,返回 EOF。

3.fclose

     

返回值•如果成功关闭文件,fclose 返回 0。•如果发生错误,返回 EOF(通常定义为 -1)。

fclose 主要用于释放与文件相关联的资源。当你完成对文件的操作后,应该使用 fclose 来关闭文件。这有助于确保所有缓冲的数据都被正确地写入磁盘,并释放与文件相关的内存和其他资源。示例

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值