Diskussion:C-Programmierung: ctype.h

Letzter Kommentar: vor 12 Jahren von Scotttiger in Abschnitt Häufige Fehler

isblank

Bearbeiten

isblank gelöscht weil kein ANSI C/ISO C90 -- Scotttiger 22:49, 18. Jan. 2012 (Signatur nachgetragen von: Jürgen 09:28, 19. Jan. 2012 (CET) -- bitte künftig mit 4 Tilden ~~~~ selbst erledigen)Beantworten

Ich füge es wieder ein. Beispielsweise von der Open Group wird es als Teil des Standards (IEEE Std 1003.1-2001) bezeichnet. Auf die Schnelle finde ich keine veröffentlichten Angaben über ISO C90 (oder später). Ich halte es für unwahrscheinlich, dass isblank in einer früheren Version zum festgelegten Standard gehörte und später herausgenommen wurde. Aber selbst wenn es es so wäre: Wenn diese Funktion in "den meisten" Standardbibliotheken enthalten ist, gehört sie in die Liste.
Wenn du anderer Meinung bist, dann gib bitte einen Link als Beweis an. Es sollte aber genügen, auf der Kapitelseite eine Fußnote dazu einzufügen. (Die Projektdefinition zum Buch spricht nur allgemein von ANSI-C und verzichtet auf genauere Festlegungen.) -- Jürgen 09:28, 19. Jan. 2012 (CET)Beantworten
Wenn du "auf die Schnelle" nichts passendes zu ANSI C findest aber trotzdem was änderst, spricht das für dein Selbstbewusstsein und ein gerüttelt Maß an Naivität. ANSI C (und nicht ANSI-C) ist in der C-Programmierung ein, wenn nicht der eingeführte Fachbegriff, 1989 als erster C-Sprachstandard von ANSI veröffentlicht und (ohne nennenswerte Änderungen) 1990 vom ISO Komitee übernommen worden. Ich kenne durch täglichen Gebrauch diesen Standard nahezu auswendig, offenkundig im Gegensatz zu dir, und isblank ist gehört definitiv nicht dazu. isblank kam erst mit ISO-C 99 dazu, gehört also nicht zum Titel. Und in der "Projektdefinition" nur "allgemein" über einen konkreten Standard zu sprechen grenzt schon an Blasphemie, schließlich ist eine Standarddefinition genau für einen ganz konkreten Umgang geschaffen worden und ohne Sinnentfremdung niemals zu "verallgemeinern". isblank ist auch nur einer von vielen Fehler auf "deiner" Seite. Scotttiger 13:25, 19. Jan. 2012 (CET)Beantworten
Statt hier herumzuschimpfen: Hast du einen Link, der ausdrücklich isblank erwähnt oder (noch besser) der auflistet, was laut Standard zu ctype.h gehört? Das wäre nützlicher. Ich maße mir für C bestimmt keine Sachkenntnis an. Der Leser sollte aber von der Lektüre etwas haben; und wenn isblank üblicherweise enthalten ist, dann ist es doch wohl hilfreich, es zu erwähnen. Was du mit "meiner" Seite meinst, bleibt mir auch verborgen. Aber das liegt natürlich an meiner Ignoranz, Naivität und Blasphemie. -- Jürgen 14:21, 19. Jan. 2012 (CET)Beantworten
Ich maße mir überhaupt nichts an. Ich zähle Fakten auf. Wenn du der Meinung bist, hier öffentlich zum Thema ANSI C was schreiben zu müssen, ist das deine Sache. Es ist aber nicht mehr deine Sache allein, wenn du mit deinem selbsterklärten nichtprofessionellen Wissen anderer Leute Änderungen rückgängig machst ohne den ANSI C Standard zu kennen oder zumindest Quellen zur Primärliteratur. Scotttiger 17:31, 19. Jan. 2012 (CET)Beantworten
Ich habe eine Quelle angegeben, warum isblank aufgeführt werden kann. Ich vermisse immer noch eine Quelle dazu, dass es dort nichts zu suchen haben soll. -- Jürgen 18:07, 19. Jan. 2012 (CET)Beantworten
Ich mache hier keine Privatlehrstunde für dich. Deine "Quelle" ist kein ANSI C und kein ISO C90. Lies mal ein paar Grundlagenbücher über ANSI C, bevor du hier selbst irgendwelche Falschheiten behauptest und Unkenntnis über diesen Sprachstandard offenbarst.Scotttiger 19:30, 19. Jan. 2012 (CET)Beantworten

Häufige Fehler

Bearbeiten

Die subjektive historische Begründung, warum der Parametertyp int und nicht ein char-Typ ist habe ich mal durch eine objektive aus dem Standard heraus abgeleitete ersetzt. -- Scotttiger 23:06, 23. Apr. 2012 (CEST)Beantworten

Problem im Code

Bearbeiten

Ich bin kein professioneller oder erfahrener C-Programmierer, aber der Code scheint mir auch mit unsigned falsch:

int all_spaces(const char *s)
{
 while (*s != '\0') {
   if (isspace(*s))       /* FEHLER */
     return 0;       /*wird bereits beim ersten Buchstaben zurückgegeben, Rest des*/
   s++;              /*Strings wird nicht geprüft.*/
 }
 return 1;
}

Oder habe ich den Code falsch verstanden?

Zurück zur Seite „C-Programmierung: ctype.h“.