Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Mal wieder Strings auseinandernehmen....

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
24.06.2003, 09:45 Uhr
Hacku



Hey! Ich hab mal wieder ein String zum auseinandernehmen...aber das übersteigt dieses mal komplett meinen Horizont, glaub ich...
Ich habe zwar schon eine Methode dafür gefunden, jedoch ist die nicht sonderlich elegant...und erst recht nicht variabel..
So, hier mal der String, ist ein Datum:

"4-02-2003 at 14:41"

Der soll zerlegt in ein CString (wo dann Jahr,Monat,... hintereinanderweg geschrieben werden sollen) gespeichert werden. Problem sind die Trennzeichen, das Monate < 10. und Stunden < 10.00 Uhr ohne vorangestellter "0" geschrieben werden. Wie kann ich das Überprüfen und/ oder die 0 automatisch dran schreiben lassen? Ich hoffe ihr könnt mir wieder so gut wie letztens virtual helfen! Danke!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
24.06.2003, 10:19 Uhr
virtual
Sexiest Bit alive
(Operator)


CString ist MFC... Bitte ins richtige Forum posten!
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)

Dieser Post wurde am 24.06.2003 um 10:20 Uhr von virtual editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
24.06.2003, 10:28 Uhr
Hacku



Hmm, okay, das Datum kommt aber aus einem char, deshalb hab ich es im "normalen" C++ gepostet...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
24.06.2003, 10:47 Uhr
ao

(Operator)


@virtual: Ich poste trotzdem mal hier weiter, weil ich das Problem mit sscanf lösen würde.

@Hacku: Ich würde den String in numerische Werte für Tag, Monat usw. zerlegen und dann aus diesen Zahlenwerten einen neuen String in dem mir passenden Format zusammenbauen, etwa so:

C++:
#include <stdio.h>
int main (void)
{
    char szDate [] = "4-02-2003 at 14:41";
    int day, month, year, hour, minute;

    sscanf (szDate
            , "%d-%02d-%04d at %d:%02d"
            , &day
            , &month
            , &year
            , &hour
            , &minute
            );

    printf ( "\n%s = %d.%d.%d, %d:%02d"
            , szDate
            , day
            , month
            , year
            , hour
            , minute
            );
}


Anstelle der Ausgabe mit printf müßtest du dann CString.Format() verwenden.
ao

Dieser Post wurde am 24.06.2003 um 10:48 Uhr von ao editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
24.06.2003, 11:08 Uhr
Hacku



Riesendank an dich, das geht wunderbar. Aber das eine Problem besteht immer noch, und zwar das Der Monat < 10 und die Stunde < 10 ohne vorangestellter null dargestellt werden. daran bin ich dann auch verzweifelt. vielleicht hast du ja eine idee!?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
24.06.2003, 11:28 Uhr
virtual
Sexiest Bit alive
(Operator)


@Hacku
Benutze %02d an stelle von %d für diese Felder.
@ao
Null Problemo. wir sind ja nun im MFC Forum
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: