2011-06-14 6 views
0

Qu'est-ce qui cause StringCchPrintfW (buf, buflen, L "% f", double_var) de sortir "-1. # IO" dans Windows Mobile? Je reçois aussi "-1. # IND" parfois. La documentation mentionne "1. # INF" et "-1. # INF" où #INF signifie l'infini, mais il n'y a aucune mention de "#IO" ou "#IND".Obtention d'une sortie étrange de printf

+1

'-1. # IO' signifie" pas un nombre ". '-1. # IND' signifie" indéterminé ". Vous pourriez vouloir vérifier ce qui est dans double_var et qui/quoi définit sa valeur. –

+0

La variable est le résultat d'une série de calculs qui déterminent une distance entre deux coordonnées latitude/longitude en utilisant sin/cos/acos, puis en divisant la distance par le temps écoulé pour obtenir la vitesse. C'est la valeur de vélocité qui est parfois non imprimable. –

+0

Il s'avère que la valeur transmise à acos() était parfois supérieure à 1.0, ce qui donnait NAN (Not A Number). –

Répondre

-1

Il vous manque les deux premiers paramètres de la fonction. StringCchPrintf formats à une chaîne que vous devez fournir plutôt que de l'imprimer.

+0

Votre réponse n'a pas répondu pourquoi la sortie de la fonction contient #IO au lieu d'un nombre valide –