Auremy Geschrieben 1. April 2009 Geschrieben 1. April 2009 #include "stdafx.h" #include <iostream> #include <string> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { string zeitstempel; string datum; string zeit; string tag; string monat; string jahr; string stunde; string minute; string sekunde; int position; string stag, smonat, sjahr; string sstunde, sminute, ssekunde; stag = datum.substr(0,2); smonat = datum.substr(3,2); sjahr = datum.substr(6,4); sstunde = datum.substr(); cout <<"Zeitstempel-Konvertierungsprogramm"<<endl; cout <<"Das Datum wird aus dem Format TT.MM.JJJJ in das Format Monat Tag, Jahr"<<endl; cout <<"konvertiert"<<endl<<endl; cout <<"Geben Sie Datum (TT.MM.JJJJ) und die Uhrzeit (std:min:sek) ein"<<endl; cin >> zeitstempel; system ("pause"); return 0; } Kurz zu dem Programm selber ein String soll in einzelteile Zerlegt werden und neu aufgelistet werden ich soll einen Zeitstempel umkonvertieren, heißt Deutsches Datum Deutsche Uhrzeit ins Englische Format Bsp.: 01.04.2009 16:38:36 > Apr 01, 2009 04:38:36 pm JEdoch steig das Programm jetzt schon aus dabei ist doch noch nicht so viel drin?? Ich hoffe, dass ich wieder auf eure Hilfe Zählen kann.
Klotzkopp Geschrieben 1. April 2009 Geschrieben 1. April 2009 Der erste Parameter von std::string::substr darf nicht größer als die Länge des Strings sein. Wenn du versuchst, aus einem leeren String (datum) ab Position 3 oder 6 etwas rauszuholen, dann ist es nicht verwunderlich, dass dir das um die Ohren fliegt.
Auremy Geschrieben 1. April 2009 Autor Geschrieben 1. April 2009 also muss ich hier string stag, smonat, sjahr; string sstunde, sminute, ssekunde; die gesamte länge des strings vorgben? quasi string stag, smonat, sjahr[18]; string sstunde, sminute, ssekunde[18]; versteh ich das richtig?
Klotzkopp Geschrieben 1. April 2009 Geschrieben 1. April 2009 Nein. Außerdem gibst du so nicht die Länge vor, sondern deklarierst ein Array von Strings. Grundsätzlich solltest du in einen String erst einmal etwas hineinstecken, bevor du versuchst, etwas herauszuholen. Du versuchst, Substrings aus einem String zu holen, in dem nichts drinsteht.
Auremy Geschrieben 1. April 2009 Autor Geschrieben 1. April 2009 hmm oki und wie amche ich das, dem was zuzuweisen?
Klotzkopp Geschrieben 1. April 2009 Geschrieben 1. April 2009 Ist die Frage ernst gemeint?datum = "Inhalt"; oderdatum = string_in_dem_wirklich_was_drinsteht.substr( x, y ); Oder durch Einlesen von cin, so wie du es mit dem String zeitstempel machst. Was davon im Kontext deines Programms sinnvoll ist, musst du dir schon selbst überlegen. Du wirst dir beim Anlegen der Variablen ja etwas gedacht haben, oder?
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden