Diskuze: C++ Přičtení hodnoty DWORD do proměnné __int64
V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 3 zpráv z 3.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.
Proměnná nacteno není ukazatel. Chceš-li její hodnotu nastavit na nulu, zadej v inicializaci 0 nikoli NULL.
__int64 nacteno = 0;
Ve výrazu:
nacteno += bytes_read;
jsou uplaťnována dvě pravidla:
Podpora typu a Konverze typu při přiřazení. Jelikož je typ __int64 vyšší
nežli DWORD, dochází tak k implicitní konverzi proměnné bytes_read na typ
__int64.
Při výpisu pomocí funkce printf() je třeba uvést přesný specifikátor konverze. Pro typ __int64 to je %I64d.
A tedy:
__int64 nacteno = 0;
DWORD bytes_read = 2000000000;
unsigned char i;
for(i=0; i<3; i++) nacteno += bytes_read;
printf("%I64d\n", nacteno);
Zobrazeno 3 zpráv z 3.