Thread u.a. Adressierungsoperator
(7 answers)
Opened by RPerl at 2007-10-27 19:18
Hallo jungs,
erstmal danke fuer das klicken :) ich hab mal wieder ein Problem mit C und eine Frage bzgl. C. 1. Frage: Warum brauch *ich* den Adressierungsoperator in dieser Situation: Code: (dl
)
sprintf(&str[0], "INSERT INTO data (v1, v2, v3, v4) VALUES ('%s', '%s', '%s', '%s')", f[0], f[1], f[2], f[3]); str sieht so aus: Vielleicht weiss das ja hier jemand :) 2. Problem: Wieso geht das: Code: (dl
)
1 sprintf(&str[0], "INSERT INTO data (v1, v2, v3, v4) VALUES ('%s', '%s', '%s', '%s')\0", f[0], f[1], f[2], f[3]); Output: INSERT INTO data (v1, v2, v3, v4) VALUES ('aaa', 'bbb', 'ccc', 'ddd') INSERT INTO data (v1, v2, v3, v4) VALUES ('eee', 'fff', 'ggg', 'hhh') => Erwartete Ausgabe. Aber das hier nicht: Code: (dl
)
1 sprintf(&str[0], "INSERT INTO data (v1, v2, v3, v4) VALUES ('%s', '%s', '%s', '%s')\0", f[0], f[1], f[2], f[3]); Output: INSEINSERT INTO data (v1, v2, v3, v4) VALUES ('eee', 'fff', 'ggg', 'hhh') INSERT INTO data (v1, v2, v3, v4) VALUES ('eee', 'fff', 'ggg', 'hhh') Hier werden offenbar die Statements ueberschrieben. Man siehts am fett markierten und an der Tatsache, das die Werte falsch sind. *g* Wer Lust / Interesse hat, das hier zu beantworten, gerne. Aber bitte kein geflame wie mans aus manch anderen Foren kennt. :) Vielen Dank, schoenen Samstag gruß rperl // Nachtrag: So gehts uebrigens: Code: (dl
)
1 sprintf(&str[0], "INSERT INTO data (v1, v2, v3, v4) VALUES ('%s', '%s', '%s', '%s')\0", f[0], f[1], f[2], f[3]); Seltsam *g* |