Je veux passer une codé en dur char tableau comme l' source
paramètre de memcpy ... quelque Chose comme ceci:
memcpy(dest, {0xE3,0x83,0xA2,0xA4,0xCB} ,5);
Cette compilé avec clang donne l'erreur suivante:
cccc.c:28:14: error: expected expression
Si je le modifier (voir la parenthèse supplémentaires ):
memcpy(dest,({0xAB,0x13,0xF9,0x93,0xB5}),5);
l'erreur donnée par clang est:
cccc.c:26:14: warning: incompatible integer to pointer
conversion passing 'int' to parameter of
type 'const void *' [-Wint-conversion]
cccc.c:28:40: error: expected ';' after expression
memcpy(c+110,({0xAB,0x13,0xF9,0x93,0xB5}),5);
Donc, la question:
Comment puis-je passer une codé en dur tableau comme paramètre source d' memcpy
(http://www.cplusplus.com/reference/cstring/memcpy/)
J'ai essayé:
(void*)(&{0xAB,0x13,0xF9,0x93,0xB5}[0]) - syntax error
{0xAB,0x13,0xF9,0x93,0xB5} - syntax error
({0xAB,0x13,0xF9,0x93,0xB5}) - see above
(char[])({0xE3,0x83,0xA2,0xA4,0xCB}) - error: cast to incomplete type 'char []' (clang)
et un peu plus fou des combinaisons, je suis la honte de l'écrire ici ...
Rappelez-vous: je n'ai PAS envie de créer une nouvelle variable pour contenir le tableau.