C で書く cat な実装。ファイルは一つ限定。
#include <stdio.h>
#include <string.h>
#define BUFSIZE 255
int main(int argc, char *argv[])
{
char buffer[BUFSIZE];
FILE *fpr = NULL;
if (argc < 2)
{
fprintf(stderr, "invalid arguments\n");
return 1;
}
if ((fpr=fopen(argv[argc-1],"r"))==NULL)
{
fprintf(stderr, "cannot open file : %s\n", argv[argc-1]);
return 1;
}
while(1)
{
if (NULL == fgets(buffer, BUFSIZE , fpr))
break;
buffer[strlen(buffer) - 1] = '\0';
printf("%s\n.", buffer);
}
fclose(fpr);
fpr = NULL;
return 0;
}
つうか
emacs なナニがアレで tab が 8 とか Makefile の書き方忘れてるとか色々駄目。