c - error when use array wchar -


i have variable type wchar (szdrive), want have array , element of has type wchar. here code:

typedef struct array_wchar{ wchar array_char[5]; }; array_wchar array_drivename0[10]; int array_drivename_index0 =0; wchar szdrive[5] = l" :\\"; 

but when write:

for(int i=0;i<10;i++){     array_drivename1[i].array_char = szdrive; } 

it has error: error c2106: '=' : left operand must l-value

can explain me why , can give resolution? plz!

you can't assign directly array that. need either use memcpy / strcpy or assign individual elements:

memcpy(array_drivename0[i].array_char, szdrive, sizeof(array_drivename0[i].array_char)); 

or

for (j = 0; j < 5; j++) {     array_drivename0[i].array_char[j] = szdrive[j]; } 

also seem referencing array_drivename1 have declared array_drivename0.

your overall structure confusing. have array of structs, each of contains array of wchars - why not have array of arrays , remove struct entirely?

for example:

typedef wchar array_char_t[5]; array_char_t array_drivename0[10]; wchar szdrive[5] = l" :\\";  memcpy(array_drivename0[i], szdrive, sizeof(array_drivename0[i])); 

Comments

Popular posts from this blog

basic authentication with http post params android -

vb.net - Virtual Keyboard commands -

css - Firefox for ubuntu renders wrong colors -