char *file1charbuf=(char*)malloc(sizeof(char));
char *file2charbuf=(char*)malloc(sizeof(char));
EOF までループして、char を読み込ん*file1charbuf
で*file2charbuf
から比較します。
...
check=read(file1, file1charbuf, 1);
check2=read(file2, file2charbuf, 1);
if (*file1charbuf!=*file2charbuf){
printf("differ: char %i, line %i\n",charpos,linepos);
exit(1);
}
....
比較は正常に機能しますが、ポインターをヒープではなくスタックに保持したいです。また、malloc は C lib 関数です。
char *file1charbuf[1]; //1 element array of char
char *file2charbuf[1];
その比較では正しく機能しません
...
if (file1charbuf[0]!=file2charbuf[0]){
printf("differ: char %i, line %i\n",charpos,linepos);
exit(1);
}
...
そして2つ目の質問。見つかったらclose(file1)
必要ですか?exit(1)
- lib関数ではなく、システムコールのみを使用する必要があります。