我想從ini文件中讀取一行數據放在一個數組中,但是我想根據所得到的字串的長度來靈活地定義數組的長度,不知如何辦?
如下:
char pstr[20]="\0";
int len=0;
GetPrivateProfileString("read","0x00","0",pstr,sizeof(pstr),".\\postlog.ini");
len=strlen(pstr)/2;
BYTE str_0x00[len]; //這樣定義為什麼不行,編譯出錯.
int a=0;
char tmp[2]="\0";
for(int i=0;i<4;i++)
{
tmp[0]=pstr[a];
tmp[1]=pstr[a+1];
sscanf(tmp,"%x",&str_0x00[i]);
a=a+2;
}
char temp[]="\0";
for(i=0;i<4;i++)
{
sprintf(temp,"%02x",str_0x00[i]);
AfxMessageBox(temp);
出錯如下:
D:\NJ200\NJ220\nj205post11\NJ220 EEPROG\NJ205ICTDlg.cpp(1190) : error C2057: expected constant expression
D:\NJ200\NJ220\nj205post11\NJ220 EEPROG\NJ205ICTDlg.cpp(1190) : error C2466: cannot allocate an array of constant size 0
D:\NJ200\NJ220\nj205post11\NJ220 EEPROG\NJ205ICTDlg.cpp(1190) : error C2133: 'str_0x00' : unknown size
Error executing cl.exe. }