UNLEN+1 Bedeutung



  • Hallo,

    verstehe die Bedeutung von den [UNLEN+1] nicht, bzw. das +1.

    UNLEN ist in <Lmcons.h> als 256 mögliche Zeichen definiert.
    Auch wenn es nicht wirklich wichtig ist, würde ich dennoch gerne Verstehen wozu das +1 steht.

    char username[UNLEN+1];
        DWORD username_len = UNLEN+1;
        GetUserName(username, &username_len);
    
        std::cout << username;
    

    Danke im Voraus.



  • Das Ende von C-Strings wird durch ein '\0' markiert. +1 reserviert dafür das zusätzliches Byte.



  • Ergänzung:

    DWORD username_len = UNLEN+1;
    

    Hier ist das +1 natürlich falsch!



  • Ähm.
    Nö.
    GetUserName function

    MSDN schrieb:

    lpBuffer[out]
    A pointer to the buffer to receive the user's logon name. If this buffer is not large enough to contain the entire user name, the function fails. A buffer size of (UNLEN + 1) characters will hold the maximum length user name including the terminating null character. UNLEN is defined in Lmcons.h.



  • Ok, ich ziehe den Einwand zurück.


Log in to reply