valor de retorno strtod () se string for igual a zero
Conforme o MSDN:
strtod
retorna 0 se nenhuma conversão puder ser executada ou ocorrer um fluxo insuficiente.E se minha string for igual a zero (ou seja, 0,0000)? Como posso saber se não há erro na conversão?
OK, eu uso o seguinte código para verificar a ideia:
char *Y = "XYZ";
double MyNum;
char *MyEndPtr;
int Err_Conversion = 0;
errno = 0; //reset
MyNum = strtod, (Y, &MyEndPtr);
if ( (MyNum == 0) && (errno != 0) && (strcmp(Y, MyEndPtr) == 0) )
{ Err_Conversion = 1; }
Vejo que MyNum = 0, mas nunca vejo o conteúdo de Y copiado para MyEnPtr, ou errno = 0 nesse erro forçado. Qualquer ideia?