Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

#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.

Geschrieben

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.

Geschrieben

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?

Geschrieben

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.

Geschrieben

Ist die Frage ernst gemeint?

datum = "Inhalt";
oder
datum = 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?

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...