0
ファイル記述子から2つの文字を比較する必要があります。char offファイル記述子の比較c
私のファイルにsample.txtは、「最初の」 私のファイルsample2.txtは、私が「似ていない」を返す必要がある「firbbbbbbst」
を含んで含まれていますが、これは常に「類似」を返すと、実際にラインを読み込むことはありませんバッファ
免責事項:
int main(int argc, char **argv)
{
ssize_t ret_in, ret_out;
char buffer[BUF_SIZE];
char buffer2[BUF_SIZE];
int where=0;
int fileDes1;
int fileDes2;
fileDes1 = open("home/aviad/Desktop/comparing/in1/sample.txt", O_RDONLY);
fileDes2 = open("home/aviad/Desktop/comparing/in2/sample2.txt", O_RDONLY);
while((ret_in = fread (buffer, BUF_SIZE, 1, fileDes1)) > 0)
{
ret_out= fread (buffer, BUF_SIZE, 1, fileDes2);
if (buffer[where] == buffer2[where])
{
printf("%c", buffer[where]);
where++;
}
else {
printf("nor similar\n");
break;
}
}
printf("similar\n");
printf("%c", buffer[2]); //garbage
printf("%c", buffer2[2]); //garbage
return 0;
}
なぜ* strncmp *を使用しないのですか? http://en.cppreference.com/w/c/string/byte/strncmp – Louen
これは問題ではない、データがバッファに入ることはないという問題がある – aviadm71
'buffer'と' buffer2'を渡すときに '&'演算子を削除します。フリードに –