求助,如何將C函式指標傳遞給python

2021-04-18 23:09:07 字數 3018 閱讀 1877

1樓:匿名使用者

這個和bai用不用python沒啥關係,是du資料**

zhi的問題。 呼叫dao**api,使用 api相關介面獲得你回想要的答內容,我 記得api中有相關的介面,你可以看一下介面的說明。 用python做爬蟲來進行頁面資料的獲齲。

怎麼在python呼叫c函式的時候實現指標引數

2樓:ar科技團隊糯米

python寫程式原則是所有進來的字串(讀檔案,爬網頁),一進來就decode,處理完之後在要輸出的地方在encode。題主讀入(read)和輸出(print)在一行裡,要在win下面想不出錯就這麼寫 print response.decode('utf-8').

encode('gbk')

如何將python中的dict作為引數傳入c函式中用c做相關的處理?

怎麼在python呼叫c函式的時候實現指標引數

3樓:羅蘭兒花開

>>> def a():global qq=1+2return q>>> def b():a()c=2+qprint(c)>>> b()5>>> q3函式中的變數在外面呼叫,需要申明為全域性變數

python向怎麼向c語言傳遞結構體

4樓:阿達貼

況如下:

打算從python發一個tcp資料包給遠端伺服器,資料的主體是一個c語言的 struct (較大,size 為1402)。由於這個struct太複雜,故不打算在python 處對其重新定義,目前的想法是用python呼叫一個c語言的模組,在這個模組中定義這個struct,並設定好資料後,將其struct傳回python中,再打包傳送伺服器。

但是不知道如何將這個struct 變數從c語言 傳入python中。嘗試用py_buildvalue函式,以為結構體變數

傳遞,但是幾次都得到執行時錯誤:

systemerror: bad format char passed to pybuildvaule。

python如何傳遞給c++一個結構體指標?前提是swig封裝的c++函式,請寫出代 100

5樓:匿名使用者

在封裝的**間傳遞指標你要確保他們執行在相同的地址空間裡,還要保證指標指向的記憶體的生存期是安全的,否則這種思路就是錯誤的。實現方法舉例如下:

1、定義了c 結構體和函式如下

typedef struct nameage

nameage , *nameagepointer;

void test(nameagepointer p) // 接收結構體指標

2、python定義結構體如下

#python中結構體定義

class pystruct():

def __init__(self, name, age):

self.name = name

self.age = age

fred = pystruct("fred", 5)

3、假設把第1步裡的test封裝成example模組,python匯入example(既然你都會swig了,這個過程就不囉嗦了)

>>>import example

>>>example.test(pointer(fred))

以上是基本思路,因為搭建開發環境和過程比較繁雜,沒有驗證過,但是應該沒有大問題

請問python中如何傳遞一個字串給c程式dll中c函式,同時c函式如何返回一個字串給python

6樓:匿名使用者

用ctypes,

>>> from ctypes import *

>>> libc=cdll.msvcrt

>>> libc.printf("hello %s\n","world")

hello world

12>>>

>>> p = create_string_buffer("hello", 30)

>>> n=libc.sprintf(p,"hello %s\n","world")

>>> n

12>>> print p

>>> dir(p)

['__class__', '__ctypes_from_outparam__', '__delattr__', '__delitem__', '__delsl

ice__', '__dict__', '__doc__', '__format__', '__getattribute__', '__getitem__',

'__getslice__', '__hash__', '__init__', '__len__', '__module__', '__new__', '__r

educe__', '__reduce_ex__', '__repr__', '__setattr__', '__setitem__', '__setslice

__', '__setstate__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__',

'_b_base_', '_b_needsfree_', '_length_', '_objects', '_type_', 'raw', 'value']

>>> p.value

'hello world\n'

>>>

python呼叫c++,如何傳遞陣列指標

7樓:折柳成萌

很多copy辦法都可以 如果你的c++物件是已有bai的**,可以du用cpython包裝成python物件zhi,這些

daocpython包裝的物件有一個指標是指向 你要包裝的c++物件的,然後提供訪問c++物件的方法。比如你一顆樹可以包裝成python物件,樹節點也包裝成python物件!

c中如何將byte轉化為字串C中如何將byte轉化為字串

c 中將byte轉化為字串可以參考以下的 字串轉byte string stringmessage how are you?console.writeline stringmessage system.text.asciiencoding ascii new system.text.asciienc...

c中如何將字串轉換成日期格式,C 中如何將字串轉換成日期格式

static string s 20120304120312 private static int f int i,int l private void button1 click object sender,eventargs e string s 20120304120312 datetime ...

linux如何將c程式用printf輸出到終端的內容讀到另一

管道啊不如你有 printf 的程式叫 a.out 你的 shell 檔案叫 a.sh a.out a.sh 就會將 printf 的東西當作 a.sh 的輸入 能不能舉個例子?感覺用輸出重定向就可以啊 在 shell指令碼中呼叫一個c語言的可執行程式,如何將c程式中printf的字元儲存成到檔案中...