0
我有一些代码,我正在写从MATLAB程序通过命名管道期待的消息,例如,“/ tmp目录/ named_pipe_0”。我可以得到管道mkfifo,打开发现,但是当C程序去从管道的read(),而不是预期的5004个字节,我会得到短值像4096,904,5000,4096,等我有已经证实,Matlab应该发送正确的5004字节(至少,它被告知),所以我想知道原因是什么。任何人都会碰到类似这样的事情?命名管道(matlab-> Linux)的短读
马特
或者,只是使用'fread'。 – 2013-02-22 22:12:28
谢谢,不,我会试一试。 @WilliamPursell - 我以为FREAD()是为* FILE,不是int文件描述符,或者是有一些微妙的变型,我不知道的? – tranzmatt 2013-02-25 15:27:09
'fread'确实用于FILE *。而不是试图实现使用''read'的fread'的功能,这是更简单获取文件*用'fdopen'。 – 2013-02-25 16:18:38