python c++ 混合编程中python调用c++string返回类型的函数,python中返回为数字的解决办法
2024-10-19 13:34:36
本随笔解决 Python使用ctypes 调用c++dll 字符串返回类型函数,在python中显示为数字;原文解决方案见so:
解决方案如下:
1. 据说无关python的ctypes的事。
2. C++定义导出函数的时候,需要使用const char *,而不能使用string返回类型,如:
extern "C"
const char *return_string(char* name){
cout<<strlen(name)<<endl;
cout<<name<<endl;
static string s = "hello ";
s += name;
return s.c_str();
}
3. 上面的函数定义也看到了,在函数体中使用string临时变量的话,需要static string str这样的形式定义,声明为静态变量。
4. 给string类型临时变量赋值的时候,必须使用+=,而不是=。
5. 最后往出传递的话,使用s.c_str()做个转换。
最新文章
- 进击的Python【第五章】:Python的高级应用(二)常用模块
- c# 写着玩的,两个Task并发,一个写队列一个读队列的异常情况
- OAuth2学习及DotNetOpenAuth部分源码研究
- js实现上传图片及时预览
- Codeforces Round #249 (Div. 2) B. Pasha Maximizes
- const define 定义常量的区别
- WCF配置文件详解(一)
- ubuntu基本使用
- sqlserver触发器如何将一个库中的数据插入到另外一个库中
- Javascript基础Function
- iOS开发--系统通讯录的访问与添加联系人
- UVALive 6869(后缀数组)
- Maven之多模块打包成一个jar包及assembly
- new thoughts over function pointers
- 10、end关键字和Fibonacci series: 斐波纳契数列
- Numpy的使用
- 获取Object对象的length
- 国寿e店/人寿云参会云助理,不去公司就能刷脸考勤打卡?
- selenium3 TestNG 介绍与配置
- Spring Boot 项目实战(四)集成 Redis