设计具有char数组字段数的结构

时间:2011-12-26 17:53:06

标签: c++

我的程序中有以下结构。

#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。 有没有更好的方法来设计结构。

0 个答案:

没有答案