Как получить доступ к строке из кода C с помощью ctypesPython

Программы на Python
Ответить
Anonymous
 Как получить доступ к строке из кода C с помощью ctypes

Сообщение Anonymous »

У меня есть простой файл C:

Код: Выделить всё

char *initializetest()
{
char *test = malloc(1000);
return test;
}

int searchtest(char *test)
{
strcpy(test, "test");
return 0;
}

main()
{
char *test = initializetest();
searchtest(test);
printf("%s\n", test);
}
и файл Python:

Код: Выделить всё

from ctypes import *

class Test(object):
def __init__(self):
self.test_library=CDLL("test.so")
self.test_initialize = self.test_library.initializetest
self.test_search = self.test_library.searchtest
self.test_search.restype=c_int
self.m = self.test_initialize()

def search(self):
self.test_search(self.m)
print self.m

r = Test()
print r.search()
Как получить «тестовую» строку в Python?

Подробнее здесь: https://stackoverflow.com/questions/844 ... ith-ctypes
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»