Archiv verlassen und diese Seite im Standarddesign anzeigen : wo sind die fehler ?
hab das prog aus einem buch (=ein einführungsbsp) abgeschrieben und es wimmelt von fehlern,
:mad: , wär sehr dankbar wenn mir wer sagen kann wo die liegen..
Original geschrieben von mips
hab das prog aus einem buch (=ein einführungsbsp) abgeschrieben und es wimmelt von fehlern,
:mad: , wär sehr dankbar wenn mir wer sagen kann wo die liegen.. Naja, das sieht mir aber zum größten Teil nach Tipfehlern aus, z.B.
#define SREQ(a,b) (strcmp( (a), (b) )=0)
??--^
richtig muß das lauten
#define SREQ(a,b) (strcmp( (a), (b) )==0)Das gleiche hier
if((fp=fopen(filename,"r"))=NULL)richtig:
if((fp=fopen(filename,"r"))==NULL)
Dann hier
if(trcmp (filename, "-")==0)muß wohl eher lauten
if(strcmp (filename, "-")==0)
Dann wieso kommt erst
if((fp=fopen(filename,"r"))=NULL)
{
(void) fprintf (stder, "%s:cannot open %s: %s\n", cmnd, filename, strerror(errno) );
exit(EXIT_FAILURE);
}
while( fgets (line, sizeif (line),fp) !=NULL)
{
if(printf("%6d %s", lineo, line) <0)
{
(void) fprintf(stderr, "%s: standard output error: %s\n",cmnd, strerror (errno) );
exit(EXIT_FAILURE);
}
lineo ++;
}
und dann
if(trcmp (filename, "-")==0)
{
fp=stdin;
}
So rum macht das wohl auch keinen Sinn. Das muß wohl andersherum rein.
Hast Du das wirklich genauso abgeschrieben? Was ist das für ein Buch? Wohl eines von Franzis oder Markt&Technik? Dann wirf es weg und kauf Dir 'n ordentliches.
-= Pingu =-
PS: Da hab ich noch wesentlich mehr Fehler gesehen. Aber ich wollte das Programm jetzt nicht komplett neu schreiben.
Da sind nunmal Fehler drinn.
Beispielsweise der erste:
if((fp=fopen(filename,"r"))=NULL)
Hier ist offensichtlich ein Vergleich und keine Zuweisung gemeint, also
if((fp=fopen(filename,"r"))==NULL)
Ansonsten wäre die Zuweisung mit dem fopen sinnlos.
So geht es weiter: statt stder heisst es korrekt stderr; alles kleine Unterschiede, die aber Fehler sind.
Am besten fängst Du mit einem hello-World-Programm an.
ich hab leider nicht die zeit mich da langsam einzuarbeiten, weil mein 1.bsp schon s.... schwer ist.. :((
jedennfalls scheint es das in dem prog vieles nicht deklariert ist, zb line , filename
und dann schreiben die in dem buch hin .. lauffähiges program:eek: :rolleyes
hab alle fehler ausgebessert , wäre über weitere dankabr ;)
Das Programm ist ganz gut als schlechtes Beispiel, d. h. man lernt die Bedeutung der Fehlermeldungen kennen und auch die Fehlerbeseitigung ;)
Powered by vBulletin® Version 4.2.5 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.