[elektro] C18 kérdés
Lajos Rancz
lajos.rancz at gmail.com
Wed Sep 11 14:37:43 CEST 2013
Helló!
Hogy akarod kiírni mint hexa számok mint decimális számok vagy mint
karakterek?
hexában és decimálisan:
int i;
char *ptr = data_2;
for (i = 0; i < 18; ++i)
{
ptr += sprintf(ptr, "%02x ", pS2buffer[i]); // Decimalisan a format string:
"%d "
}
Üdv
2013. szeptember 11. 13:58 Tibor Kovács írta, <kovacs.tibor7909 at gmail.com>:
> Sziasztok!
>
> Egy ujabb C-s kérdés merült fel bennem..
> Mégpedig van egy bejövő soros adatom amit egy tömb-be letárolok (18 byte),
> ezzel eddig nincs is gondom, viszont ahoz hogy ezt ki tudjam írni LCD-re át
> kell tennem egy string-be formázottan. Van egy módszer amivel sikerűlt de
> túl hosszúnak találom, és az lenne a kérdésem hogy lehet ezt
> leegyszerűsíteni.
>
> pl.: (ez csak 6 byte-ra vonatkozik, nekem ugye 18 kellene)
> sprintf(data_2, "%c%c%c%c%c%c",
> s2buffer[0],s2buffer[1],s2buffer[2],s2buffer[3],s2buffer[4],s2buffer[5]);
>
> gondoltam egy ilyenre, de ez nem működik...
>
> pData_2 = &data_2[0];
> pS2buffer = &s2buffer[0];
> for (i=0; i < 18; i++)
> {
> sprintf(*pData_2, "%2x", *pS2buffer);
> pData_2++;
> pS2buffer++;
> }
>
> előre is köszi!
> -----------------------------------------
> elektro[-flame|-etc]
>
More information about the Elektro
mailing list