Код: Выделить всё
#include
void print_linked_list(Node* head) {
Node* current = head;
while (current != NULL) {
printf("%d\n", current->data);
current = current->next;
}
}
Код: Выделить всё
from ctypes import CDLL, POINTER, Structure, c_int
class Node(Structure):
_fields_ = [("data", c_int), ("next", POINTER(Node))]
dll = CDLL('./my_library.dll')
dll.print_linked_list.argtypes = [POINTER(Node)]
# Assuming I have a linked list instance
dll.print_linked_list(linked_list_head)
Как я могу перенаправить или захватить вывод printf из функции C, чтобы можно было использовать напечатанные значения в Python?< /p>
Я читал об использовании os.dup2 для перенаправления стандартного вывода, но не смог понять, как его применить в этом контексте. Есть ли более простой способ добиться этого с помощью ctypes?
Будем благодарны за любые рекомендации или примеры!
Подробнее здесь: https://stackoverflow.com/questions/793 ... hon-ctypes