前言
前讲了 fputc 并不是 行缓存 用了while(1);和加入换行验证
fputc和 fgetc 配置使用 注意光标要重新偏移到第0个位置
这节讲讲cat 指令原理
cat 指令介绍
cat 实现的过程
拿a.C 比喻
用户先从内核读取 用户在写入内核 通过内核的驱动程序 输出到显示屏
getc/fputc函数配合 实现 cat 指令
用 man 形参 实现就行了
前面学了 1 gets/puts 2 fgets/fputs 3 fgetc/fputc 三组 读写函数
1 是不行的 因为只能单纯 输出 输入
int argc:表示命令行的参数个数
char *argv[]:实际在输入命令行时由系统实际参数 一共三个
现在cat 算一个 不用写进代码 argv[0]
因为 第一个是固定指令 后两个才是源文件名字 或者参数
#include<stdio.h>
int main(int argc,char *argv[])
{
FILE *fd;
int str;
if(argc!=2)
{
printf("fopen is error\n");
return -1;
}
printf("fopen is success\n");
fd=fopen(argv[1],"r");
while(1)
{
Nret=fgetc(fd);
if(feof(Nret))
{
break;
}
fputc(Nret,stdout);
}
flcose(fd);
return 0;
}
查看 本源文件
查看 其他文件
两个文件都可查看 证明成功了
|