Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux公开发行_Linux - Fatal编程技术网

Linux公开发行

Linux公开发行,linux,Linux,我对“开放”有问题。即使没有名为ttyACM3的设备,也不会返回错误。它总是打印“无错误” 有什么问题吗 fd = open("/dev/ttyACM3", O_RDWR); if(fd) { printf("no error"); } else { printf("error"); } 这一行: if(fd) 对于fd==-1,将计算为true,这就是open返回错误的方式打开返回错误时的-1,而不是0 以后请更仔细地阅读文档:) 另外,如果您想知道,if(fd)对负数的

我对“开放”有问题。即使没有名为ttyACM3的设备,也不会返回错误。它总是打印“无错误”

有什么问题吗

fd = open("/dev/ttyACM3", O_RDWR);
if(fd)
{
    printf("no error");
}
else
{
    printf("error");
} 
这一行:

if(fd)
对于
fd==-1
,将计算为true,这就是
open
返回错误的方式<代码>打开返回错误时的
-1
,而不是
0

以后请更仔细地阅读文档:)


另外,如果您想知道,if(fd)对负数的计算结果为true。

您没有在if()中提供正确的条件

如果端口不存在,则open()返回负值。 所以正确的代码应该是

if(fd > 0)

本教程可能很有用。

阅读
open
的规范,尤其是返回值部分。