Christian Kruse: String concat in c++

Beitrag lesen

你好 Der,

Braucht er auch nicht. Ein Compiler, der eine andere Konvention als
die des gewünschten Zielsystems verwendet, erzeugt Programmcode, der
nicht lauffähig ist, weil jede Übergabe von Integerwerten an
Systemfunktionen Unsinn übergibt.

Nein, das ist nicht wahr, und das weisst du. Jedem Compiler steht es
frei, intern eine der drei Formate zu benutzen und sie bei Bedarf
anzupassen; wäre ja auch schlimm, wenn das nicht so wäre, stell dir
vor, was auf einem System passieren würde, dass vollständig mit BCD
arbeitet...

Ja und? Für so ein System hätte ein Compiler gefälligst Code zu
erzeugen, der ebenfalls mit BCD-Arithmetik arbeitet.

Nein, das muss transparent sein. Dafür wurde C geschaffen: als
plattformunabhängige Sprache. Du hast die falschen Erwartungen, wenn du
das so willst, solltest du nicht C programmieren.

Das ist nun einmal meine Überzeugung.

Deine Überzeugung deckt sich aber nicht mit den Fakten. C-Compiler dürfen
nicht tun, was sie wollen, sie sind an recht strenge Richtlinien gebunden.
Und der Code, den du schreibst, ist in diesem Fall einfach
Compiler-spezifisch, die Stelle im Standard ist eindeutig.

Es hätte so heißen sollen:

str += sprintf(str, "Pattern Line 1", var1, var2);

Das dachte ich mir, wollte es dir aber auch nicht zu leicht machen ^^

再见,
 克里斯蒂安

--
Block-Installation Nr. 5 | Renovation der Mensa-Nord
Kommt ein Vektor zur Drogenberatung: "Hilfe, ich bin linear abhaengig!"
http://wwwtech.de/