Python, использующий ctypes для передачи массива char * и заполнения результатов

Я пытаюсь использовать ctypes для создания массива char * в python для передачи в библиотеку для заполнения строками. Я'm ожидает 4 строки длиной не более 7 символов каждая.

Мой код Py выглядит так

testlib.py

from ctypes import *
primesmile = CDLL("/primesmile/lib.so")

getAllNodeNames = primesmile.getAllNodeNames
getAllNodeNames.argtypes = [POINTER(c_char_p)]
results = (c_char_p * 4)(addressof(create_string_buffer(7)))
err = getAllNodeNames(results)

lib.cpp

void getAllNodeNames(char **array){
    DSL_idArray nodes; //this object returns const char * when iterated over
    network.GetAllNodeIds(nodes);
    for(int i = 0; i < (nodes.NumItems()); i++){
    strcpy(array[i],nodes[i]);
    }
}

Я продолжаю получать ошибки сегментации, когда пытаюсь запустить этот код. Я'я создал тест из C, который работает отлично, но в Python я должен неправильно настроить массив указателей или что-то в этом роде. Кажется, чтобы добраться до второго узла в цикле, а затем возникла проблема, как явидно из выплевывания данных в командную строку. Любое понимание будет высоко ценится.

Ответы на вопрос(3)

Ваш ответ на вопрос