"open"に問題があります。 ttyACM3という名前のデバイスがない場合でも、エラーは返されません。常に「no error」を出力します。Linux公開の問題
何が問題なのですか?
fd = open("/dev/ttyACM3", O_RDWR);
if(fd)
{
printf("no error");
}
else
{
printf("error");
}
"open"に問題があります。 ttyACM3という名前のデバイスがない場合でも、エラーは返されません。常に「no error」を出力します。Linux公開の問題
何が問題なのですか?
fd = open("/dev/ttyACM3", O_RDWR);
if(fd)
{
printf("no error");
}
else
{
printf("error");
}
このライン:
if(fd)
がfd == -1
をtrueに評価されます、open
がエラーを返す方法です。 open
は、0
ではなく、-1
を返します。将来的には
はより慎重にドキュメントを読む:)
またif (fd)
はあなたが思っていた場合には、負の数に対してtrueに評価されます。ポートのdoesntが存在する場合
インターネットが遅い:/あなたが既に答えたのを見た – sziraqui
'open'の仕様、特に戻り値のセクションを読んでください。 –