Ctypes模塊指針類型對象取值方法


Ctypes模塊的指針類型對象針對具體指針類型有下面幾種取值方法:

 

  1. 如果是c_void_p指向的byte類型的內存地址,用下面方法取值:
    string_at(address, size)
  2. 取POINTER(obj_type)里面的值:
    xxx.contents
    或者
    xxx[0]
    直接解除指針綁定
  3. 普通的根據內存地址取值方法:
    cast(id(變量), py_object).value
  4. 如果知道c_void_p指針指向內存中存的變量的真實類型,用下面方法:
    cast(id(變量), POINT(變量類型)).value

    跟上面的方法其實本質是一樣的

 

c_byte_array雖然不是指針類型,但是取值也用到了cast()方法,所以也寫在這里

# 取值:
cast(byte_array變量名, c_char_p).value

# 賦值
(c_byte * array長度)(*bytearray(字符串值, 'UTF-8'))

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM