Python中文
首页
教程
问答
标签
搜索
登录
注册
python中char*的问题
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我刚刚包装了一个头文件(.h)并创建了它。函数Encrypt接受char*bb,然后使用memcpy()填充它。如果我想从c代码调用这个函数,我必须做(char*bb=(char*)new char[200];Encrypt(…,…,…,bb);)。如何从python调用它?python中(char*bb=(char*)new char[200];)的等价物是什么?在</p> <pre><code>int Encrypt (string key, string iv, string plaintext, char* bb) { std::string ciphertext; CryptoPP::AES::Encryption aesEncryption((byte *)key.c_str(), CryptoPP::AES::DEFAULT_KEYLENGTH); CryptoPP::CBC_Mode_ExternalCipher::Encryption cbcEncryption( aesEncryption, (byte *)iv.c_str() ); CryptoPP::StreamTransformationFilter stfEncryptor(cbcEncryption, new CryptoPP::StringSink( ciphertext ) ); stfEncryptor.Put( reinterpret_cast<const unsigned char*>( plaintext.c_str() ), plaintext.length() ); stfEncryptor.MessageEnd(); memcpy(bb,ciphertext.c_str(), ciphertext.size()); return ciphertext.size(); }; </code></pre> <p>从c调用Encrypt():</p> ^{pr2}$ <p>我在python中使用create_string_buffer(“,400),但它不起作用。在</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>我想你需要在“char*bb”的末尾插入'\0'(终止空字符)。如果数据是字符串而不是二进制,则使用strcpy。 抱歉,不是您的答案,但您可能会得到内存错误。在</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
在python3中使用Scipy pearsonr函数
3 回答
在Python3中使用scipy对多个lorentzian进行数据拟合
5 回答
在Python3中使用Script=argv
4 回答
在python3中使用selenium webdriver进行未解析的回溯
1 回答
在python3中使用selenium和phantomjs的网页截图之前如何等待?
7 回答
在Python3中使用Selenium和Requests模块从网页获取文件
2 回答
在python3中使用SIGINT终止函数
8 回答
在Python3中使用SIGTERM时,允许进程完成而不是中断
2 回答
在python3中使用smtplib发送XML内容
6 回答
在python3中使用socket库(RFCOMM模式)重新连接蓝牙设备?
10 回答
在python3中使用sounddevice和numpy编写wav文件
5 回答
在python3中使用Sqlalchemy插入MySQL查找类型错误的原因
6 回答
在python3中使用sqlite、pandas和sqlalchemy很难让rollback工作
8 回答
在python3中使用SQLite的FTS3/4
3 回答
在Python3中使用struct.calcsize()和len()有区别吗?
8 回答
在python3中使用substring函数时发生TypeError
10 回答
在Python3中使用Tkinter entry小部件写入串行设备
2 回答
在python3中使用tkinter时,如何在每次按下函数时获得运行该函数的按钮?
5 回答
在python3中使用tkinter的子帧
10 回答
在Python3中使用tryexcept块时,如何避免使用未初始化的变量?
9 回答