Stefan H.: C++ Funktion isdigit(); geht nicht

guten abend,

die funktion isdigit(); gehört zu den bearbeitungsfunktionen von char in c++ und ist im namespace std enthalten. zu c zeiten noch zusammengefasst in <ctype.h>.

wenn ich die funktion aufrufe bekomme ich mit dev-c++ version 4 jedoch folgende fehlermeldung:
implict declaration of of funktion 'int isdigit(...)'

auch mit ganz einfachen beispielen wie: if(isdigit(1)){...} erhalte ich diese fehlermeldung.

danke für konstruktive unterstützung.

  1. Also hier funktioniert es einwandfrei:

    #include <iostream>
    #include <cctype>

    int main ()
    {
        std::cout << "Ist 9 eine Ziffer? ";

    if (isdigit ('9'))
            std::cout << "ja" << std::endl;
        else
            std::cout << "nein" << std::endl;

    return 0;
    }

    Vielleicht ein c vergessen?

    Gruß
    L00NIX

    1. aha, das c also... ich frage mich wieso (kenne das ohne doppel c).
      aber jetzt funktioniert es. vielen dank L00NIX

      1. Hallo

        aha, das c also... ich frage mich wieso (kenne das ohne doppel c).
        aber jetzt funktioniert es.

        Ganz einfach:

        Man schreibt in C++ auch nicht mehr die .h an die Header Dateien, es
        sei denn, es sind C-Header. Die Standard C-Header wie z.B. stdio,
        stdlib, ctype etc. werden mit führendem c eingebunden, also cstdio,
        cstdlib und cctype, denn nur so sind die Funktionen in den
        std-Namespace eingebunden. Das c symbolisiert, dass es sich um einen
        C-Header handelt.

        Gruß
          L00NIX