Convertit une chaîne de GUID avec sscanf

Je suis en train de convertir une chaîne de GUID avec sscanf:

GUID guid;
sscanf( "11111111-2222-3333-4455-667788995511", "%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x",
        &guid.Data1, &guid.Data2, &guid.Data3,
        &guid.Data4[0], &guid.Data4[1], &guid.Data4[2],
        &guid.Data4[3], &guid.Data4[4], &guid.Data4[5],
        &guid.Data4[6], &guid.Data4[7]);

Cependant, dans l'exécution, il échoue et se ferme avec le message "Erreur: échec de la Commande". Pourquoi? Comment résoudre ce problème?

Je ne veux pas compiler avec /clr ne peut donc pas utiliser System.

OriginalL'auteur Andy Li | 2010-05-13