利用main(int argc,char *argv[])编写mytype 命令。c语言求解
发布网友
发布时间:2022-05-18 09:20
我来回答
共4个回答
热心网友
时间:2022-05-18 10:08
你说的 type是 dos 下的显示文件内容的命令吧,
下面的程序是我在Linux编的 cat命令 是Linux下的显示文件内容的命令。
你可以参照下面的原理,实现 你的type命令
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <errno.h>
#include <fcntl.h>
int my_err(const char * err_string,int line)
{
fprintf(stderr,"line:%d \n",line);
perror(err_string);
exit(1);
}
int main(int argc,char *argv[])
{
FILE *fp;
if(argc<2){
printf("usage:./my_cat [filepath]!\n");
exit(1);
}
if((fp=fopen(argv[1],"r"))==NULL){
my_err("fopen",__LINE__);
}
while(feof(fp)==0){
printf("%c",fgetc(fp));
}
fclose(fp);
printf("\n");
return 0;
}
热心网友
时间:2022-05-18 10:09
参考DOS系统中的TYPE命令:
//---------------------------------------------------------------------------
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char* argv[])
{
FILE *fp=NULL;
char ch;
if (argc<2) {
fprintf(stderr,"Please input file name");
exit(1);
}
else if ((fp=fopen(argv[1],"r"))==NULL) {
fprintf(stderr,"File ERROR");
exit(2);
}
else{
while ((ch=fgetc(fp))!=EOF)
if (ch<0) {
putchar(ch);
putchar(fgetc(fp));
}
else putchar(ch);
}
if (fp) fclose(fp);
return 0;
}
//---------------------------------------------------------------------------
热心网友
时间:2022-05-18 10:09
就是啊,你得说想做什么,就像让给孩子起个名字,什么都不知道怎么起?
热心网友
时间:2022-05-18 10:10
mytype? 你自己定义的吗?我门怎么知道呢