मैं एक सी समारोह जो उम्मीद एक सूची \ 0 इनपुट के रूप में समाप्त तार:अजगर से करने के लिए स्ट्रिंग की एक सूची पासिंग/सी कार्य करने के लिए ctypes की उम्मीद कर चार **
void external_C(int length , const char ** string_list) {
// Inspect the content of string_list - but not modify it.
}
अजगर से (ctypes के साथ) मैं
def call_c(string_list):
lib.external_C(??)
call_c(["String1" , "String2" , "The last string"])
कैसे अजगर तरफ आंकड़ा संरचना का निर्माण करने पर कोई सुझाव: इस समारोह अजगर स्ट्रिंग की एक सूची के आधार पर कॉल करने के लिए चाहते हैं? निरीक्षण करें कि मैं गारंटी देता हूं कि सी फ़ंक्शन string_list में तारों की सामग्री को परिवर्तित नहीं करेगा।
सादर
Joakim
सी फ़ंक्शन को यह कैसे पता चलता है कि यह 'const char *' के अनुक्रम के अंत तक पहुंच गया है? – habnabit
ठीक है; सामान्य रूप से यह निश्चित रूप से नहीं जानता है। मेरा इरादा इसे एक पूर्ण के साथ समाप्त करना था, वैकल्पिक रूप से मैं लंबाई के साथ-साथ (char **) पॉइंटर में भी पास कर सकता हूं - मेरे पास सी पुस्तकालय पर पूर्ण नियंत्रण है। जोकिम –
यदि यह नहीं पता है, तो यह बहुत बेकार है। आपको इसे किसी भी तरह बताने की ज़रूरत है, और हमें * बताएं ताकि हम आपको कोड दे सकें जो काम करता है। – habnabit