Micky-Maus-C-Rätsel...
Geizhals » Forum » Programmierung » Micky-Maus-C-Rätsel... (43 Beiträge, 500 Mal gelesen) Top-100 | Fresh-100
Du bist nicht angemeldet. [ Login/Registrieren ]
Micky-Maus-C-Rätsel...
24.05.2006, 21:50:46
Hi !

Mal aus Spaß:
Gegeben sei die Aufgabe, eine sichere und stabile logfunktion zu schreiben...
Dazu gäbe es einen globalen Filehandle zur logdatei, an die ein Text angefügt werden soll... Zusätzlich soll der Text immer auf den Fehlerkanal ausgegeben werden.

Otto-Normaldau bemüht sich und schreibt folgendes:

#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>


int logfd;

static void protokoll(int *fd,char *text)
{
        int len=strlen(text);

        if (*fd==0) {
                if ((*fd=open("meinlog.txt",O_WRONLY|O_CREAT|O_APPEND,S_IRWXU))==-1) {
                        perror("open");
                        exit(EXIT_FAILURE);
                }
        }

        if (fprintf(stderr,text)==-1) {
                perror("fprintf");
                exit(EXIT_FAILURE);
        }

        if (write(*fd,text,len)!=len) {
                perror("write");
                exit(EXIT_FAILURE);
        }
}

int main()
{
        protokoll(&logfd,"test");

        /*
         * ...
         */
        close (logfd);
        return(EXIT_SUCCESS);
}



Paßt das so - oder welche schweren Fehler hat er begangen ? >:-)

nun ein ein bißchen schwereres Rätsel:
Gegeben sein wieder ein Code-Snippet

int i;
int i;

Frage: Ist das in C erlaubt ? in C++ ? und... WARUM ? |-D

24.05.2006, 21:51 Uhr - Editiert von gepeinigter_aon_neukunde, alte Version: hier
Antworten PM Alle Chronologisch
 
Melden nicht möglich
.  Re: Micky-Maus-C-Rätsel...  (nergal am 25.05.2006, 08:15:42)
..  Re(2): Micky-Maus-C-Rätsel...  (littleo am 26.05.2006, 08:28:15)
.  Re: Micky-Maus-C-Rätsel...  (tokugawa am 26.05.2006, 13:38:50)
...  Re(3): Micky-Maus-C-Rätsel...  (steiger am 26.05.2006, 14:52:41)
.....  Re(5): Micky-Maus-C-Rätsel...  (steiger am 26.05.2006, 15:50:39)
.  Lösung....  (gepeinigter_aon_neukunde am 26.05.2006, 17:57:04)
..  Re: Lösung....  (TomCat am 27.05.2006, 12:45:15)
...  Re(2): Lösung....  (gepeinigter_aon_neukunde am 27.05.2006, 18:20:51)
....  Re(3): Lösung....  (TomCat am 27.05.2006, 18:39:30)
.....  Re(4): Lösung....  (gepeinigter_aon_neukunde am 27.05.2006, 19:36:00)
.  Re: Micky-Maus-C-Rätsel...  (adhoc am 29.05.2006, 10:49:34)
...  Re(3): Micky-Maus-C-Rätsel...  (adhoc am 29.05.2006, 11:56:51)
....  Lösung....  (gepeinigter_aon_neukunde am 30.05.2006, 00:28:16)
.  Re: Micky-Maus-C-Rätsel...  (Cereal_Poster am 29.05.2006, 11:49:23)
..  Re(2): Micky-Maus-C-Rätsel...  (Srv-02 am 29.05.2006, 12:05:35)
.  Re: Micky-Maus-C-Rätsel...  (West am 30.05.2006, 10:13:40)
...  Re(3): Micky-Maus-C-Rätsel...  (West am 30.05.2006, 10:23:17)
..  Re(2): Micky-Maus-C-Rätsel...  (West am 30.05.2006, 10:28:47)
....  Re(4): Micky-Maus-C-Rätsel...  (West am 30.05.2006, 10:56:19)
......  Re(6): Micky-Maus-C-Rätsel...  (West am 30.05.2006, 11:31:32)
........  Re(8): Micky-Maus-C-Rätsel...  (West am 30.05.2006, 12:13:36)
.  Re: Micky-Maus-C-Rätsel...  (Bumzua am 30.05.2006, 14:57:31)
 

Dieses Forum ist eine frei zugängliche Diskussionsplattform.
Der Betreiber übernimmt keine Verantwortung für den Inhalt der Beiträge und behält sich das Recht vor, Beiträge mit rechtswidrigem oder anstößigem Inhalt zu löschen.
Datenschutzerklärung