C言語でcatコマンドを書きたい

■要求定義
– ファイルの内容を表示する

■検討
– ファイルの中身を1行ずつ表示したい
– ファイルの1行を何バイトにするか?

#include <stdio.h>

int main(){

	FILE *fp;
	char str[1024];

	fp = fopen("hello.c","r");

	if(fp == NULL){
		printf("failed.\n");
		return -1;
	}

	while((fgets(str,256,fp)) !=NULL){
		printf("%s", str);
	}
	fclose(fp);

	return 0;
}

$ ./dev
#include

int main(){

FILE *fp;
char str[1024];

fp = fopen(“hello.c”,”r”);

if(fp == NULL){
printf(“failed.\n”);
return -1;
}

while((fgets(str,256,fp)) !=NULL){
printf(“%s”, str);
}
fclose(fp);

return 0;
}

PHPのfgets()だと、lengthが指定されない場合、1024バイト上限だから、fgets(str,256,fp)もfgets(str,1024,fp)の方が良いのかな。
しかし、C言語勉強していると、他の言語との互換性を強く感じられるな。