Я пытаюсь создать именованный канал с C++ и читать его на python. Это мой код:Pipe no такой файл или каталог
const int MAX_BUF = 1024;
string wr_string = "Hi.";
char text[MAX_BUF] = "";
strcpy(text, wr_string.c_str());
int fd = open("/tmp/test", O_WRONLY); // Open the pipe
write(fd,text,MAX_BUF); // Write
close(fd); // Close the pipe - allow the read
И я читаю это так:
import os
import time
pipe = open("/tmp/OKC_avgprice", "r")
line = pipe.read()
pipe.close()
print line
Однако, каждый раз, когда я пытаюсь прочитать это то, что я получаю:
Traceback (most recent call last):
File "ipc.py", line 4, in <module>
pipe = open("/tmp/test", "r")
IOError: [Errno 2] No such file or directory: '/tmp/test'
При написании труба должна автоматически создаваться? Почему он не найден?
Спасибо!
Ваша ошибка и код, который вы нам дали, отличаются. Можете ли вы проверить все так, как вы его запускали, иначе трудно решить проблему. –
Это не труба, это обычный файл. –
Вы создаете именованный канал или fifo с 'mkfifo (3)' в C. Также ваш C "++" код печатает мусор в трубе. –