#include<stdio.h>
#include<unistd.h>
#define MAX 1000
void filecopy(FILE* fin,FILE* fout);
int main(int argc,char **argv)
{
FILE *f = NULL;
char buffer[MAX];
int i = 1;
int str_size = 0;
printf("%d\n",argc);
if(argc == 1)
{
filecopy(stdin,stdout);
}
else
{
for(i = 1;i < argc;i++)
{
if(getcwd(buffer,MAX) == NULL)
{
printf("wrong answer!!");
}
else
{
str_size = strlen(buffer);
buffer[str_size] = '\\';
buffer[str_size + 1] = '\0';
strcat(buffer,argv[i]);
}
printf("%s\n",buffer);
if((f = fopen(buffer,"r")) == NULL)
{
printf("cat:can't open %s\n",argv[i]);
return 1;
}
else
{
filecopy(f,stdout);
fclose(f);
}
}
}
return 0;
}
void filecopy(FILE*fin,FILE*fout)
{
int c = 0;
while((c = getc(fin)) != EOF)
{
putc(c,fout);
}
}
主要是对C语言对文件的一些操作。对他们的读写操作