Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » cout Problem

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
10.01.2003, 10:31 Uhr
moult



Ich habe bei folgendem Programm ein Problem mit dem 2 cout! Es wird vom compiler übersehen und erst beim dritten cout ausgegeben , aber wenn ich hinten ein endl dazugebe funktioniert es einwandfrei aber er macht auch einen Zeilenumbruch den ich nicht gebrauchen kann.
Kann mir bitte wer helfen. Es habe bereits zwei Programmierer gefragt konnten mir aber auch nicht helfen!


C++:
// Dateiename: new1.cpp
// Zeigt die dynamische Belegung von Speicherplatz fuer Arrays

#include <iostream.h>
#include <conio.h>
#include <stdio.h>

void main()
{
    int i, nelem;    // Zur Uebergabe der Groesse des Arrays.
            // Der Wert dieser Variablen wird
                             // irgendwann zur Laufzeit festgelegt.
    char *cp;            // Zeiger auf das Array
    char c;

    cout <<  "\nWieviele Zeichen wollen sie eingeben\"Zahl\": ";
    cin >> nelem;
    cout << "\nGeben sie jetzt die Zeichen ein" ;
    cp = new char[nelem+1];// Belegung des Speichers fuer das Array

    i = 0;
    while ( i < nelem )
    {
        c = getche();
        cp[i++] = c;
    }
    cp[i] = '\0';        // string mit 0 Byte abschliessen
    cout << "\nIhre Eingabe: " << cp << endl;

    delete [nelem] cp;    // Freigabe des durch das Array
                                          // belegten Speicher
                                // nelem ist optional aber nicht erforderlich
}



Edit: Code-Tags eingefügt

Dieser Post wurde am 10.01.2003 um 12:08 Uhr von void* editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
10.01.2003, 11:16 Uhr
moult



ich weis inzwischen durch einen Zufall wie es funktioniert! in dem man hinten statt dem endl ein flush anfügt, was ich mich aber noch immer frage wieso muss ich das tun?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
10.01.2003, 12:09 Uhr
void*
Generic Pointer
(Operator)


Hallo!

Ich bin in der stream Sache nicht ganz fit, aber ich denke mal dass die Ausgabe erfolgt, wenn der stream will und nicht nach jedem cout. Ein flush forciert das. Ein endl ist ein '\n' mit folgendem flush.
--
Gruß
void*
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
10.01.2003, 16:39 Uhr
~Fraenky
Gast


was ist ein flush???
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
10.01.2003, 16:50 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


flush bedeutet das alles was das programm in den speicher schreibt (mit cout) oder was im inputspeicher ist (z.b durch cin) geleert wird ...

normalerweise sollte


C++:
cout << "a";
cout << "b";
cout << "c";



abc

ausgeben, falls nicht, ist bei dem folgendes nötig (ich versteh auch nicht warum's manchmal funktioniert und manchmal nicht?!?)


C++:
cout << "a";
cout << "b";
cout << "c" << flush();


--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: