Hi,
Schön. Produziert aber in Hunderten von Exemplaren seit Jahren tadellos die erwünschten Ergebnisse. Und -auf die Gefahr, dass ich mich wiederhole- allein darauf kommt es an.
Wie du meinst. Ich schreibe lieber sauberen Code, da weiß ich, dass er auch bei tausenden Programmläufen immer noch wie beabsichtigt funktioniert.
Ich auch. Ich weiß, was mein Compiler verspricht, und das hält er auch. Ob irgendein Standard dasselbe sagt, ist zweitrangig, denn die große weite Welt sieht -wenn überhaupt- nur den vom Compiler erzeugten ausführbaren Code. Solange Sourcecode, Compiler und Zielsystem also zueinander passen, ist alles in Butter. Und darauf achte ich auch.
Zitat aus der Online-Hilfe zu Borland C++ 5.01:
^
Ich glaube, dass genau hier -----------------+ ein gravierendes Problem einsetzt: Ich hatte den BCC auch erst auf meiner alten DOSe, aber die Umsetzung neuer Sprachfeatures (wie ISO C99) ist bei einem so alten Compiler (der BCC 5.5 ist laut Borland von 2000) erwarten? Schnapp dir mal einen richtigen C-Compiler.
Warum sollte ich? Er leistet alles, was ich bisher von ihm erwartet habe. Er übersetzt auch moderne, aktuelle Windows-Projekte problemlos, wenn ich ihm die dazu nötigen Win32-Headerfiles anbiete. Was will ich mehr? Nur weil ein Programm alt ist, muss es noch lange nicht schlecht sein. Manchmal ist sogar das Gegenteil der Fall: Ich benutze heute noch Word97, weil ich alle nachfolgenden Versionen für Rückschritte in Zuverlässigkeit und Usability halte.
EOF ist tatsächlich als -1 definiert.
Muss es allerdings nicht.
Stimmt. Ist auch nebensächlich, da es im genannten Beispiel nicht auftreten kann.
CHAR *str;
[...]
str += sprintf("Pattern Line 1", var1, var2);
str += sprintf("Pattern Line 2", var3, var4);
str += sprintf("Pattern Line 3", var5, var6);
>
> Wo ist denn str dimensioniert?
In den ausgelassenen Zeilen in [...]. Das ist auch unerheblich. Ich wollte lediglich ausdrücken, dass str vom Typ CHAR\* ist. Dass dieser Pointer auf einen ausreichend(!) groß reservierten Speicherbereich zeigt, habe ich als selbstverständlich vorausgesetzt. Mir ging es nur darum, dass der Rückgabewert von sprintf() genau das gleiche leistet, was du mir vorher mit %n erklärt hattest.
Schönen Abend noch,
Martin
--
Frauen sind wie Elektrizität: Fasst man sie an, kriegt man eine gewischt.