mikrocontroller.net

Forum: PC-Programmierung Neueinstieg c++. Problem mit visual c++


Autor: Micha (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo Leute,

ich habe nach einigen Jahren noch mal angefangen mit c++. Wie oben
ersichtlich habe ich visual c++.
Um erst mal keine Probleme zu haben, habe ich ein klassisches hello
world Programm angegangen. Das Problem, was mich wahnsinnig macht ist,
daß ich keine Ausgabe erhalte.

Also ich habe eine leere win32 Anwenung erzeugt, eine datei ins Projekt
eingefügt und folgenden code verwendet:
#include <conio.h>
#include <iostream.h>

int main()
{
  cout<<"was zu sehen?";
  _getch();
  return 0;
}

das wird compiliert und das _getch() klappt auch, aber es gibt keien
Ausgabe... woran kann das liegen? Ich begreife das nicht.

schönen Dank

Autor: Frank (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wir haben mal gelernt, dass man #include <iostream>" ohne ".h"
schreibt, dazu dann noch ein "using namespace std;"

Bei mir geht Dein Programm insofern, dass der Text ausgegeben wird.
Allerdings erst nach dem Tastendruck. Füge mal noch ein "<< endl" an,
damit veranlasst Du, dass der Text sofort ausgegeben wird.

Autor: Micha (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich werde das nachher sofort mal ausprobieren.
Mir dämmert irgendwas in der Richtung, daß man sich nicht sicher sein
kann, wann genau der Ausgangspuffer geleert wird.
Mit endl forciert man die Ausgabe? guter Tip
Wie gesagt, ist ein Neueinstieg ich hab zig Jahre Pause gemacht mit
entsprechender Halbwertzeit an Wissen kann man sich denken wie mein
Kenntnisstand derzeit ist. :-(

Besten Dank erstmal.
Wenn es noch Probleme gibt melde ich mich wieder

Autor: Micha (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nachtrag: ja klappt. besten Dank!

Eine Frage tauchte da noch auf. Wenn ich anstatt endl zu schicken ein
fflush(stdout) mache. Ist der Text dennoch nicht sichtbar.
Das holt mich nach meiner kurzen Sternstunde wieder runter, dachte ich
doch ich hätte das Problem verstanden.

Kannst du mir erklären, weshalb das nicht erfolgreich ist?

Autor: Marco S (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das endl wirkt wie printf("\n"). Wenn du nur die Ausgabe auffrischen
willst, rufe cout.flush(); auf.

Gruß Marco

Autor: Micha (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
In Ordnung ich bin jetzt ruhig und melde mich nur im Falle von dicken
Problemen.... << flush.
Da habe ich was durcheinander gebracht. sry

Autor: Frank (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
endl forciert auch die ausgabe.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was Du aus dem bisherigen mitnehmen solltest:

In C++ gibt es prinzipiell 2 Ausgabemethoden:

Die eine basiert auf dem von C geerbten Dingen
  also printf, getch, stdout, stdin, fflush, ...

die andere ist die modernere und mehr C++ - like:
  Streams cout und cin mit den zugehoerigen Operator
  Ueberladungen << und >> sowie einigen Zusatzfunktionen
  die als Memberfunktionen der streams ausgefuehrt sind.


Ein Mischen der beiden Methoden ist ein absolut sicherer
Weg sich selbst in den Wahnsinn zu treiben, da in C++ nicht
definiert ist ob und wie die beiden Methoden zusammenhaengen
bzw. ueberhaupt irgendetwas miteinander zu tun haben.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.