Описание тега fdopen

0 ответов

python os.pipe(), чтобы создать канал и открыть дескриптор файла в c

Я хочу использовать Python для создания канала readfd, writefd = os.pipe(), И затем я создаю подпроцесс внутри моего скрипта python для запуска некоторого кода c, где он пытается открыть readfd(который является int скажем 5) FILE* fp = fdopen(readfd…
08 мар '17 в 21:53
4 ответа

Можно ли спасти файловый дескриптор из FILE*?

Я должен использовать определенную кроссплатформенную библиотеку, которая проходит FILE* объекты вокруг. Я получаю дескриптор файла из другого источника (унаследованный), я хочу сохранить тот же fd через forkделаю процессы. Я сейчас пользуюсь fdopen…
11 апр '14 в 09:38
2 ответа

Создать дескриптор файла

Я хочу создать дескриптор файла в C, значение которого я укажу в коде. У меня есть целочисленная переменная, которая определяет значение дескриптора файла, который будет создан. Например, мне может понадобиться дескриптор файла, значение которого ра…
09 май '11 в 10:55
1 ответ

QFile/FILE*: Как правильно закрыть ручку?

Мне нужно открыть файлы с QFile а также QString для многоязычного без волос Но мне также нужно управлять данными этих файлов через std::stream API. Как многие предполагают, я использовал std::fstream stdFile(fdopen(qtFile.handle(), mode)); сделать э…
21 авг '15 в 23:22
1 ответ

Захват данных, записываемых в открытый файловый дескриптор

Можно ли написать программу, которая может принимать дескрипторы открытого файла другого приложения и просто передавать их содержимое без какого-либо преобразования? Допустим, приложение A имеет открытый FD для некоторого файла на диске, в который о…
07 май '18 в 16:45
1 ответ

Плохой дескриптор файла при использовании fdopen?

У меня есть следующий C-код. Ребенок используется для запуска test3, чей код будет ниже. Родитель используется для передачи данных дочернему элементу, которые будут перенаправлены в STDIN теста3. #include <stdio.h> #include <string.h> #i…
01 апр '18 в 06:25
4 ответа

Ошибка "незаконного поиска" при работе с потоками сокетов с непустыми буферами чтения

Я сейчас пишу серверное приложение на Linux x86_64 с помощью <sys/socket.h>, После принятия соединения через accept(), Я использую fdopen() обернуть найденную розетку в FILE* поток. Пишу и читаю, что FILE* Поток обычно работает довольно хорошо…
21 апр '12 в 02:25
6 ответов

Python - Как мне преобразовать "дескриптор уровня операционной системы в открытый файл" в файловый объект?

tempfile.mkstemp() возвращает: кортеж, содержащий дескриптор уровня ОС для открытого файла (как будет возвращено функцией os.open ()) и абсолютный путь к этому файлу в указанном порядке. Как преобразовать этот дескриптор уровня ОС в объект файла? Д…
03 окт '08 в 19:41
2 ответа

Android lollipop пишет в SDCard из нативного кода C++

У меня есть приложение для Android, которое использует много родного кода на C++. Приложение должно работать с файлами, расположенными на SDCard (чтение, создание, добавление). Но Kitkat + запретил запись в SDCard для сторонних приложений. Android 5…
04 июл '15 в 11:00
2 ответа

Вызов fdopen: неверный дескриптор файла

Я получаю следующую ошибку при попытке скомпилировать мою программу: calling fdopen: Bad file descriptor Я читал, что это может быть проблема, связанная с включением предварительно скомпилированного заголовка в один из моих файлов заголовков. Файл, …
14 фев '10 в 19:43
2 ответа

Как открыть объект файла из 'os', используя 'с'?

Я пытаюсь открыть файл с помощью "os.open()", как показано ниже >>> filePath 'C:\\Shashidhar\\text.csv' >>> fd = os.open(filePath,os.O_CREAT) >>> with os.fdopen(fd, 'w') as myfile: ... myfile.write("hello") IOError: [Errno…
24 окт '13 в 05:16
0 ответов

Безопасно ли использовать файловый дескриптор и связанный с ним поток FILE* одновременно?

Я пишу библиотеку сокетов C++ для управления сложностями управления системными вызовами, связанными с сокетами. Мне любопытно, есть ли какие-либо вредные побочные эффекты при создании FILE* с fdopen(3) и использовать его вместе с оригинальным файлов…
10 май '16 в 23:14
1 ответ

Проблема с печатью popen stdout из подпроцесса

Мне нужно положить выходную команду в переменную. Я пытался это: import os import subprocess output = subprocess.Popen(["ls", "-l"], stdout=subprocess.PIPE) print (output.stdout) output.terminate() но я получаю 'open file '<fdopen>', mode 'rb'…
20 сен '18 в 15:51
1 ответ

C: закрыть FILE* - не файловый дескриптор

Я задавался вопросом, можно ли выпустить FILE обертка, не закрывая основной файловый дескриптор: void stream_function( int fd ) { FILE * stream = fdopen( fd, "r"); // Read from stream with fread / fscanf // then close the buffered stream object with…
29 янв '17 в 22:38
1 ответ

Двойной указатель файла в той же позиции

Привет всем, у меня есть этот код: int lenInput; char input[64], buffer[512], temp[512], *ret, tagName[] = "<name>", tagItem[] = "<item "; bool deleted = false; FILE *fp, *fpTemp = NULL; if(! (fp = fopen(nameFile, "r+")) ) { perror("Error O…
08 апр '16 в 10:53
1 ответ

Блокировка файлов, совместимая с fgets и fprintf

Я читаю http://beej.us/guide/bgipc/html/multi/flocking.html для блокировки файлов, сейчас я пытаюсь понять, как работать с описанием файла и указателями файлов (мне нужны fprintf и fgets), это код на самом деле работает, но я не уверен, что флаги, п…
31 окт '12 в 14:13
1 ответ

Функция Fread блокируется?

У меня есть следующий код: int buffer_max_size = 1024; char* buffer = new char[buffer_max_size] FILE* cout_file = fdopen(cout_pipe[0], "r"); while (fread( &buffer[0], sizeof(char),sizeof(char)*buffer_max_size, cout_file) != 0 ) {...} cout_file и…
26 май '14 в 20:29
1 ответ

Как игнорировать пустые каналы в процессе CHILD?

Я использую подпрограмму с именем read_from_pipe в моем child обработайте, как показано ниже, чтобы прочитать все, что находится в канале, и отобразить его: void read_from_pipe(int fileDescriptr) { FILE *stream; int c; if (fileDesc_Is_Valid(fileDesc…
14 окт '15 в 10:52
1 ответ

Можно ли сопоставить дескриптор, созданный socket(), с буфером памяти?

Есть ли способ отобразить дескриптор, созданный socket(), в буфер памяти? Причина, по которой я ищу это, заключается в том, что я хочу создать существующее приложение для чтения из буфера памяти, который я создал, вместо связанного с ним буфера TCP.…
17 июн '13 в 15:17
1 ответ

Как закрыть сокет (), если я использовал fdopen() в дескрипторе сокета

Если я создаю сокет sockfd = socket(...); а затем я связываю его с потоком FILE, вызывая FILE* f=fdopen(sockfd,"r+"); Должен ли я позвонить обоим close(sockfd); а также fclose(f); или только close(sockfd);? Что происходит со структурой ФАЙЛ, если я …
07 фев '19 в 00:13