Código
u_char ip[4]; u_char mac[6]; /*for (int i = 0; i < 4; i++) ip[i]=pkt_data[i+28]; for (int i = 0; i < 6; i++) mac[i] = pkt_data[i + 22];*/ _mbscpy_s(ip, _TRUNCATE, pkt_data +28); _mbscpy_s(mac, _TRUNCATE, pkt_data+22);
Salida con las apis (usando _mbscpy_s):
Citar
c0a81260cccccccccc
c0a81190ef684965a6
c0a81188329b236d40
c0a81260329b236d40
c0a81190ef684965a6
c0a81188329b236d40
c0a81260329b236d40
c0a81190ef684965a6
c0a81170188bc327db
c0a81190ef684965a6
c0a81188329b236d40
c0a81260329b236d40
c0a81190ef684965a6
c0a81188329b236d40
c0a81260329b236d40
c0a81190ef684965a6
c0a81170188bc327db
Salida usando el for:
Citar
c0a812188329b236d40
c0a81260234d5f2697
c0a81c990ef684965a6
c0a81260234d5f2697
c0a812188329b236d40
c0a81c990ef684965a6
c0a812188329b236d40
c0a81260234d5f2697
c0a81c990ef684965a6
c0a81260234d5f2697
c0a81c990ef684965a6
c0a81260234d5f2697
c0a812188329b236d40
c0a81c990ef684965a6
c0a812188329b236d40
c0a81260234d5f2697
c0a81c990ef684965a6
No funciona bien _mbscpy_s, ¿¿porque??
Saludos.
Edito: Creo que el fallo radica en que estoy usando UNICODE de juego de caracteres del proyecto, y la funcion como pone aqui:
https://msdn.microsoft.com/en-us/library/td1esda9.aspx
Es para multybyte, y para unicode sería usar wcscpy_s, (pero ahi ya no sería un argumento de u_char*), ademas _mbscpy_s no da error, ¿que pasa?
Tambien añado que estoy cambiando el proyecto, pues donde antes ponia bucles sustituirlo por apis que hagan lo mismo, pero ya véis como me van de bien, lo mismo ocurre con _mbsicmp que compara u_char* con un u_char*, y dice si son iguales, tampoco me funciona, ¿porque?