[C++] Formatovani retezce (%s...)

C++, C#, Visual Basic, Delphi, Perl a ostatní

Moderátor: Moderátoři Živě.cz

Odeslat příspěvekod neonn 12. 12. 2007 21:47

Cest, mam takovy problemek. Delam jeden projekt, pouzivat tam SQLite3 DB pres CppSQLite.
Resim formatovani vystupniho data a casu. Na to je tahle SQL fce:
Kód: Vybrat vše
strftime( format, timestring, modifier, modifier, ...)

1.argument format (treba "%H:%M:%S %d-%m-%Y")
2. argument datum
-> SELECT strftime('%H:%M:%S %d-%m-%Y', datum)...

Ale problem je, jak tam dostat ten retezec s "%"... absolutne nechapu, co to kua dela :). Zkousel jsem nekolik zpusobu...

Mam promennou s formatem
Kód: Vybrat vše
const char * dateFormat = "%%Y-%%m-%%d %%H:%%M:%%S";
(prvni zpusob)
nebo
const char * dateFormat = "%Y-%m-%d %H:%M:%S";
(druhy zpusob)


Prvni zpusob (nefunguje)
Kód: Vybrat vše
sprintf(baf,
              " SELECT NO.note_id, strftime('%s', NO.note_added) AS date, US.user_name || ' ' || US.user_surname AS user, NO.note  "
              " FROM notes NO "
              " INNER JOIN users US ON NO.user_id = US.user_id "
              " WHERE NO.client_id = %d "
              " ORDER BY NO.note_added DESC; ",
         dateFormat, client);

Kdyz vystup (baf) zaloguju to textaku, vypise to
Kód: Vybrat vše
SELECT strftime('%Y-%m-%d %H:%M:%S', NO.note_added) AS date, ...

coz je ok - z "%%" se stane "%" a "%NECO" by se melo prevest na vyslednou cast datumu... ale v programu se mi vypise (presne) "%Y-%m-%d %H:%M:%S"... nezformatovany retezec. A kdyz ten zalogovany SQL dotaz hodim do nejakeho SQLite manager (SQLiteMan), datum uz se vypise ok.

Proto (zatim) pouzivam druhy zpusob - stringstream. Akorat ve formatovacim retezci mam misto %% jenom % a vse funguje. Ale co nechapu - vystup z obou metod je uplne stejny, ale pouze druha zformatuje datum. Prvni vypise formatovaci retezec.
Kde je problem? Nebo spis "Co delam spatne?" :)
Before talking crap about someone, check the room... :)
SH*T HAPPENS! :)
neonn
Junior
Uživatelský avatar

Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 0 návštevníků