我想把C++中的代码的特定部分转换为Python 但我在用python执行memset和sprintf等操作时遇到了麻烦。 有人能帮我做同样的事吗Python。我的代码如下。在
send(char* data)
{
/** COnvert From here **/
packetLength=strlen(data);
dataBuffer = new char[packetLength];
memset(dataBuffer, 0x00, packetLength);
char headerInfo[32];
memset(headerInfo, 0x00, sizeof (headerInfo));
sprintf(headerInfo, "%d", packetLength);
memcpy(dataBuffer, headerInfo, 32);
memcpy(dataBuffer + 32, data, packetLength);
/** Upto Here **/
//TODO send data via socket
}
这些事我都试过了
^{pr2}$
Python中的}来实现的,例如:
sprintf
是通过使用%
或{类似
^{pr2}$memset
的运算可以通过乘法来完成,例如:但是,它们的行为并不像您期望的那样,因为字符串是不可变的。你需要做一些事情,比如:
或者使用
struct
模块:(
32s
格式字符串将左对齐字符串并填充NUL字符。)如果您使用的是python3,那么您必须注意字节与字符串的关系。如果您正在处理网络套接字等,您需要确保所有内容都是字节,而不是unicode字符串。在
相关问题 更多 >
编程相关推荐