Linux C | cat命令的简单实现
代码:
/*******************************************************************
* > File Name: cat.cpp
* > Create Time: 2021年11月22日 星期一 17时35分37秒
******************************************************************/
#include <iostream>
#include <stdio.h>
using namespace std;
int main(int argc, char* argv[])
{
if (argc != 2){
cout << "Usage:" << argv[0] << " <file>" << endl;
return (-1);
}
FILE *fp;
int c;
if((fp = fopen(argv[1], "r")) == NULL){
cout << "open file " <<argv[1] << "error" << endl;
return (-2);
}
while((c = fgetc(fp)) != EOF){
cout << (char)c ;
}
cout << endl;
fclose(fp);
return 0;
}
编译:
lanfeiy@msil-virtual-machine:~/test$ make
g++ -o cat cat.cpp -g -Wall
运行:
lanfeiy@msil-virtual-machine:~/test$ ./cat
Usage:./cat <file>
lanfeiy@msil-virtual-machine:~/test$ ./cat cat.cpp
/*******************************************************************
* > File Name: cat.cpp
* > Create Time: 2021年11月22日 星期一 17时35分37秒
******************************************************************/
#include <iostream>
#include <stdio.h>
using namespace std;
int main(int argc, char* argv[])
{
if (argc != 2){
cout << "Usage:" << argv[0] << " <file>" << endl;
return (-1);
}
FILE *fp;
int c;
if((fp = fopen(argv[1], "r")) == NULL){
cout << "open file " <<argv[1] << "error" << endl;
return (-2);
}
while((c = fgetc(fp)) != EOF){
cout << (char)c ;
}
cout << endl;
fclose(fp);
return 0;
}