## const char* 转int class 构造

**

const char* 转int

**
class 内构造
Integer(const char* c_str){

if (strlen(c_str)== 0) //判断是否为空字符串
{num=0;	}
else {
	
int flag = 0;//正负符号标志位
int start = 0;//用来标记下标
int t_num = 0;//用来存储返回值

//判断符号位
if (c_str[0] == '+')
{
	start++;
	flag = 1;
}else if (c_str[0] == '-')
{
	start++;//判断后要将下标后移一位
	flag = -1;
}

for (start; start <= strlen(c_str); start++)
{
	if (c_str[start] >= '0'&&start <= '9')
		t_num = t_num * 10 + c_str[start] - '0';//套用公式,原数乘10加现在的数
	else{
		break;	//出现不满足的条件	
	}
}
num = t_num;
}	
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Python中调用这个C++结构体,你可以使用ctypes库来定义相应的结构体,并提供与C++结构体相匹配的字段和数据类型。下面是一个示例: ```python import ctypes # 定义SDeviceInfo结构体 class SDeviceInfo(ctypes.Structure): _fields_ = [ ('pMac', ctypes.c_char_p), ('pIP', ctypes.c_char_p), ('iCtrlPort', ctypes.c_int32), ('iDataPort', ctypes.c_int32), ('pMask', ctypes.c_char_p), ('pGateway', ctypes.c_char_p), ('pVenderName', ctypes.c_char_p), ('pModelName', ctypes.c_char_p), ('pVersion', ctypes.c_char_p), ('pSerialNumber', ctypes.c_char_p), ('bReachable', ctypes.c_bool) ] # 创建一个SDeviceInfo实例 device_info = SDeviceInfo() # 设置结构体字段的值 device_info.pMac = b"00:11:22:33:44:55" device_info.pIP = b"192.168.0.1" device_info.iCtrlPort = 1234 device_info.iDataPort = 5678 device_info.pMask = b"255.255.255.0" device_info.pGateway = b"192.168.0.254" device_info.pVenderName = b"Vendor" device_info.pModelName = b"Model" device_info.pVersion = b"1.0" device_info.pSerialNumber = b"1234567890" device_info.bReachable = True # 打印结构体字段的值 print("Mac:", device_info.pMac.decode()) print("IP:", device_info.pIP.decode()) print("Ctrl Port:", device_info.iCtrlPort) print("Data Port:", device_info.iDataPort) print("Mask:", device_info.pMask.decode()) print("Gateway:", device_info.pGateway.decode()) print("Vendor Name:", device_info.pVenderName.decode()) print("Model Name:", device_info.pModelName.decode()) print("Version:", device_info.pVersion.decode()) print("Serial Number:", device_info.pSerialNumber.decode()) print("Reachable:", device_info.bReachable) ``` 这个示例演示了如何在Python中创建一个与C++结构体相对应的`SDeviceInfo`类,并设置结构体字段的值。你可以根据实际情况修改字段的数据类型和名称。最后,使用`.decode()`方法将`ctypes.c_char_p`类型的字段值转换为Python的字符串进行打印。 请注意,这个示例假设C++结构体中的字符串字段是以null结尾的C风格字符串(char*)。如果你的结构体中的字符串字段不是C风格字符串,你可能需要进行额外的处理。此外,还需要确保结构体的定义与C++代码中的定义完全匹配。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值