文件IO进程学习总结

1.在IO进程学习中要掌握应用程序与库函数,系统调用函数,以及内核之间调用关系。

          在程序中,所有的资源都是内核在进行管理,只能由内核进行操作,但是应用程序有时想得到这些资源,内核就提供一些固定的操作方式,通过函数来提供;只要在应用程序中调用函数,应用程序就可以通过内核访问。

2.C语言库函数IO(常用指令总结)

(1)打开文件
          #include <stdio.h>
          // 打开一个对应字符串表示文件名字的文件
          FILE * fopen ( const char * pathname , const char * mode );
(2)关闭文件
          #include <stdio.h>
          // 关闭指定的文件
          int fclose ( FILE * stream );
(3)写文件==从程序-输出-文件
           #include <stdio.h>
          // format 字符串输出到指定的文件 stream
          int fprintf ( FILE * stream , const char * format , ...);
(4)  读文件==从文件-输入-程序
          #include <stdio.h>
          // 从指定的文件 stream 中读取内容与 format 字符串进行匹配,把匹配格式化的数据输入到程序程 序中
          int fscanf ( FILE * stream , const char * format , ...);
(5)单个字符读写以及多个字符读写
          #include <stdio.h>
          // 从文件中读取一个字符,输入到程序中
          int fgetc ( FILE * stream );
          // 一次从文件中读取多个字符,最多读取 size-1 个字符,在读取多个字符时,在 size - 1 大小
以内,读取到 '\n' 字符就结束;或这一次读取已经把文件最后一个字符读取完 还是小于 size -
1 也结束;不然就是读取 size - 1 个字符,读取完成后在读取的最后一个字符后加上 '\0'
          char * fgets ( char * s , int size , FILE * stream );
(6)指定大小读写           
          #include <stdio.h>
          // 读取指定大小的文件内容,输入到程序中 ; 指定大小:读取数据个数 * 每个数据的字节
          size_t fread ( void * ptr , size_t size , size_t nmemb , FILE * stream );
           以上这些常用的库函数指令,是我们需要多加练习的,每一个指针,变量都要明白其含义,才能在写程序的时候能够娴熟的运用。
3.IO进程多文件编程
           多文件就是,把原来写在一个文件中的函数,按照一定的方式分别写在多个文件中,在编译把多个文件合并成一个可执行程序( 在编译的第 4 -- 链接 )
           
         ~~操作过程:
               1. 编写代码,分为多个文件编写,把多个功能函数写在不同的文件中
               2. 在调用函数的文件,把被调用的函数进行声明
               3. 编译代码,把多个文件合并成一个可执行程序
                    gcc xxx1.c xxx2.c xxx3.c [-o 目标名 ]
4.make:工程管理器(了解会用)
              make 工具通过 makefile Makefile )文件书写怎么进行编译,怎么进行管理项目
5.库的制作(静态和动态)
            (1)静态库的制作
                            gcc -c xxx.c -o xxxx.o
                            ar crs lib 库名 .a xxxx.o
                            gcc -o 可执行程序目标 xxxx.c -L 路径 -l 库名
             (2) 动态库的制作
                            gcc -Wall -fPIC -c xxxx.c -o xxxx.o 
                            gcc -shared xxxx.o -o lib 库名 .so 
                            gcc -o 可执行程序目标 xxxx.c -L 路径 -l 库名 
6.IO进程(进程)
  该内容是学习的重点,所以学习的时候我们一定要多加已练习
    (1)概念:
                进程就是一个正在执行的程序,叫进程。
    (2)分类:
               -  交互进程 -
               -  批处理进程 -
               -  守护进程 -
    (3)进程的执行状态           
             就绪态(运行态)
                   ~ 进程正在运行或准备运行
             等待态
                   ~ 进程正在等待某个事件产生或某个资源,才可以执行
                   ~ 可中断
                   ~ 不可中断
              停止态
                   ~ 进程被中止
              死亡态(僵尸态)
                  ~   这时,是一个终止状态,等待资源回收而已
     (4)进程执行
                被创建的进程叫做子进程,去执行创建的进程叫做父进程
                   ~ 创建子进程
                         #include <sys/types.h> 
                         #include <unistd.h> 
                        //在当前进程中,创建一个子进程,当前进程是父进程,被创建的进程是子进程,创建时(fork()),把父
进程的所有内容 ( 堆、栈、数据段、代码段等 ) 都复制一份给子进程的内存,子进程从 fork 结束(返回值)开始
执行
     进程学习我们要掌握如何创建进程,分清楚谁是父进程,以及谁是子进程,他们之间的区别不同之处,各自的功能。
最后整理了我们需要用到的一些头文件,我们用到的功能一定要写上其对应的 “头文件” 才能使用
                                                #include <stdio.h> 
                                                #include <sys/types.h>
                                                #include <sys/wait.h>
                                                #include <stdlib.h>
                                                #include <unistd.h>
                                                #include <dirent.h>
                                                #include <sys/stat.h>
                                                #include <fcntl.h>
以上就是IO进程学习的总结和体会,希望在接下来的学习中有更多的收获。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值