我得到了以下代码
if (print msgsnd($ipc_msg_to_mppt_id, $msg, 0)) {print在这里的目的是什么?什么是回报?
文档显示,如果成功,它将返回true。但是印刷怎么会不成功呢?
发布于 2022-02-06 21:09:07
打印并不像将输出转储到控制台那样简单。它还可以重定向到文件或其他类型的管道。如果将其重定向到您没有写访问权限的文件,则打印到该文件将失败。如果它被管道传输到另一个程序,而后者程序终止,那么写到它将导致管道断裂错误。
作为一般原则,I/O操作超出了程序的控制范围,因此您应该始终假定它们可能会失败。读取或写入文件、控制台或任何类型的套接字或管道,总是会在没有警告的情况下失败。因此,如果您想让您的程序对它做些什么,您需要检查像print这样的函数的返回值。
https://stackoverflow.com/questions/71011613
复制相似问题