Problem mit Ausgabe von Werten von Dynamischer Speicherverwaltung [Array]
-
#include <iostream> using namespace std; int main() { double *f1 = new double[13]; f1[0] = 0.334423; f1[12] = 12.315; char *f2 = new char[256]; f2[0] = 'a'; f2[3] = '!'; cout << f2[0] << f2[3] << endl; // <-- HIER WIRD NICHTS AUSGEGEBEN delete[] f1; delete[] f2; return EXIT_SUCCESS; }= KEINE AUSGABE AUF DER KONSOLE
Warum werden
f2[0]undf2[3]nicht ausgegeben?
-
Bist du sicher, dass nichts ausgegeben wird, oder schliesst sich die Konsole einfach gleich wieder?
Hast du die Werte auch schon mit dem Debugger überprüft?
-
drakon schrieb:
Bist du sicher, dass nichts ausgegeben wird, oder schliesst sich die Konsole einfach gleich wieder?
Hast du die Werte auch schon mit dem Debugger überprüft?
Ja, komischerweise schließt die Konsole nicht mal sofort, obwohl ich kein
std::cin.get();benutzt habe. Es wird einfach nichts ausgegeben...
-
War da nicht irgendwas, dass solche Sachen von cout als C-Strings angesehen werden? Und das deswegen bis zum nicht vorhandenen Nullterminierungszeichen ausgegeben wird?
-
skullyan schrieb:
... Es wird einfach nichts ausgegeben...
Welche Entwicklungsumgebung, Compiler benutzt Du?
-
egon2 schrieb:
skullyan schrieb:
... Es wird einfach nichts ausgegeben...
Welche Entwicklungsumgebung, Compiler benutzt Du?
VC++ 2008 Express
-
VC++ Expess 2008
bringt mir diese Ausgabe:
a!
Drücken Sie eine beliebige Taste . . .
höchst rätselhaft!
-
SeppJ schrieb:
War da nicht irgendwas, dass solche Sachen von cout als C-Strings angesehen werden? Und das deswegen bis zum nicht vorhandenen Nullterminierungszeichen ausgegeben wird?
Er gibt da lediglich 2 char aus.. Nix mit (C-)String..