Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
SwordFish Mini JLI'ler
Alter: 40 Anmeldedatum: 01.05.2007 Beiträge: 4 Wohnort: Amberg Medaillen: Keine
|
Verfasst am: 04.05.2007, 16:52 Titel: new/delete |
|
|
Hallo Leute, also ich bin neu in diesem Forum und hab auch noch keine grossen Kenntnisse in C++, aber ich geb mir Mühe ;D
Naja und dabei passieren mir seltsame Fehler, wie dieser hier:
Dabei habe ich nur folgenden Quellcode eingegeben:
CPP: | #include <iostream.h>
#include <stdio.h>
#include <string.h>
char *pString = new char[];
void main(void)
{
cout << "Geben Sie Ihr Passwort ein: ";
cin >> pString;
cout << "Ihr Passwort ist: " << *pString << "******" << '\n';
unsigned int Laenge = strlen(pString);
cout << "Die Laenge Ihres Passwortes ist " << Laenge << " Zeichen lang!" << '\n';
delete[] pString;
pString = 0;
}
|
xD Nicht wundern, wenn hier was von Passwörtern steht, was besseres ist mir bei nicht eingefallen.
Kann mir bitte irgendwer helfen? Ich bin plannlos, was ich da falsch mache ...
Danke schon mal im Vorraus |
|
Nach oben |
|
|
Christian Rousselle Site Admin
Alter: 48 Anmeldedatum: 19.07.2002 Beiträge: 1630
Medaillen: Keine
|
Verfasst am: 04.05.2007, 17:06 Titel: |
|
|
Code: | char *pString = new char[]; |
Diese Zeit ist ein Problem, da du keinen Speicher reserviert und dann nachher an diese Stelle schreibst (cin). Versuche es mal mit
Code: | char *pString = new char[512]; |
Dann kann die Eingabe 512 Zeichen lang sein (mit \0, der Endkennung für den String). |
|
Nach oben |
|
|
SwordFish Mini JLI'ler
Alter: 40 Anmeldedatum: 01.05.2007 Beiträge: 4 Wohnort: Amberg Medaillen: Keine
|
Verfasst am: 04.05.2007, 17:11 Titel: |
|
|
ah ja, auf diese weise funktionierts! Dankeschön , aber wird dadurch dann nicht automatisch ziemlich viel Speicher für das Array auf dem Heap reserviert? Oder wird dann letztendlich doch nur so viel Speicher reserviert, wie das Password lang ist? |
|
Nach oben |
|
|
manu Super JLI'ler
Alter: 35 Anmeldedatum: 09.03.2006 Beiträge: 327 Wohnort: allgäu (DE) Medaillen: Keine
|
Verfasst am: 04.05.2007, 17:13 Titel: |
|
|
ne es wird bei einem kleinen passwort zu viel reserviert...
aber ich würd des jetzt einfach mal so machen und später z.B. mit std::vector bzw. std::string arbeiten |
|
Nach oben |
|
|
|