Forum: Mikrocontroller und Digitale Elektronik AVR astudio avr-gcc -> isdigit


von Joachim B. (jar)


Lesenswert?

warum funzt das nicht ?
1
      strcpy(t_bld, sh_dt_str_build());
2
      p_bld=t_bld; // char t_bld[15], *p_bld;
3
      while(*p_bld)
4
        (!(isdigit(*p_bld++))) ? _time_i2c_rtc=FALSE : _time_i2c_rtc=TRUE;
5
  //(!isdigit(*p_bld++)) ? _time_i2c_rtc=FALSE : _time_i2c_rtc=TRUE;
6
  //(isdigit(*p_bld++)) ? _time_i2c_rtc=TRUE : _time_i2c_rtc=FALSE;

aber das funzt !
1
      strcpy(t_bld, sh_dt_str_build());
2
      p_bld=t_bld; // char t_bld[15], *p_bld;
3
      while(*p_bld)
4
      {  if(!isdigit(*p_bld++)) 
5
          _time_i2c_rtc=FALSE;
6
        else
7
          _time_i2c_rtc=TRUE;
8
      }

danke
von Uwe (de0508)


Lesenswert?

Das liegt an der C-Syntax:
1
_time_i2c_rtc = !isdigit(*p_bld++) ? FALSE : TRUE;

Noch kürzer wäre:
1
_time_i2c_rtc = isdigit(*p_bld++);
von Joachim B. (jar)


Lesenswert?

danke
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.