我的程序中有以下结构。
#define WIFI_DEVICE_NAME 100
#define WIFI_SERIAL_NO 13
#define WIFI_PROD_NAME 7
typedef struct WiFiDeviceInfo
{
char name[WIFI_DEVICE_NAME];
char fullname [WIFI_DEVICE_NAME];
char productname[WIFI_PROD_NAME];
char serialnumber[WIFI_SERIAL_NO];
};
此Struct用于各个地方。有些时候,某些字段可能仍为空。因此,在使用strcpy_s()
进行复制时,它会失败。所以在进行任何复制操作之前我尝试使用strlen()
。
我修改了结构并提出了以下设计。
typedef struct WiFiDeviceInfo
{
char name[WIFI_DEVICE_NAME];
unsigned short nLenName;
char fullname [WIFI_DEVICE_NAME];
unsigned short nLenFullName;
char productname[WIFI_PROD_NAME];
unsigned short nproductname;
char serialnumber[WIFI_SERIAL_NO];
};
我不能在这里使用STL,因为它的遗留代码不使用STL。 有没有更好的方法来设计结构。