作者:
博客:https://xuhss.com
早餐店不会开到晚上,想吃的人早就来了!??
ctypes给c函数传递char字符串和wchar_t宽)
一、api介绍
Python
有2种字符串 string
和 byte
。
byte对应的是普通char*,是ascii存放。分别通过c_whar_p()
以及 c_char_p()
存放。
creat_string_buffer()
string
和 byte
都是只读类型 要想在c语言中可以修改,就必须调用creat_string_buffer()
二、实战参数传递
C++接收传递过来的字符串
// C++ 中编译c格式的函数,如果用c语言编译就不需要(文件后缀名.c)
// __declspec(dllexport)函数导出到库中
#include <stdio.h>
#ifdef __cplusplus
#define XEXT extern "C"
#else
#define XEXT
#endif
#ifdef _WIN32
#define XLIB XEXT __declspec(dllexport)
#else
#define XLIB XEXT
#endif
// c_char_p