Linux 开放问题

标签 linux

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

可能是什么问题?

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

最佳答案

这一行:

if(fd)

对于 fd == -1 计算结果为 true,这就是 open 返回错误的方式。 open 出错时返回 -1,而不是 0

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

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

关于Linux 开放问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46377600/

相关文章:

linux - 该脚本如何将十六进制转换为 ascii?

java - 在 CHROOT 环境中工作 - 尝试安装 JDK 时出错

java - 在linux下编译的Eclipse插件可以在windows上工作吗?

Linux 中的 C++ OpenCV2 cv::Mat::copyTo 错误

linux - 在不编写任何代码的情况下,是否有一个命令可以检索当前 shell 的亲和性中可用核心的数量?

linux - 为 ARM linux 交叉编译 ncurses 应用程序

linux - 列出所有系统退出状态代码及其描述

linux - 输出shell变量时如何保留引号?

linux - ALSA:播放音频的正确方法 - 阻塞模式和线程

python - 如何在 python 脚本中执行多个 CLI 命令?