Seite 1 von 1

C++ Prob - system("PAUSE"); ?

BeitragVerfasst: Di 21. Sep 2004, 16:22
von Skuld
Also, folgendes, ganz simpel. Folgender Code funktioniert auf meinem Heimrechner (Microsoft Visual C++ 6.0) nicht, auf dem Schulrechner (Borland 6.x, glaube auch 0) einwandfrei:

$this->bbcode_second_pass_code('', '#include <iostream.h>

int main()
{
cout << "Hallo" << endl;

system("PAUSE");
return 0;
}')

Das system("PAUSE"); zickt bei mir zu Hause rum, folgende Fehlermeldung:

C:\Eigene Dateien\Informatik\Test.cpp(7) : error C2065: 'system' : nichtdeklarierter Bezeichner

Irgendeine Idee?

BeitragVerfasst: Di 21. Sep 2004, 16:35
von asw22
Wie ich das halt aus der Fehlermeldung erkenne, weiß dein Borland mit der Pause was anzufangen, dein Windows dingens daheim nicht.. Vll sind das doch unterschiedliche Compilerversionen? Bei Java und den Assertions ist das ja ähnlich, die kann man bei den neuen Compilerversionen ausschalten, bzw muß man die Version mit angeben, wenn das ein altes Programm ist, da früher Assertion ein ganz normaler Variablenname sein konnte, aber jetzt ist dieses Wort für einen Java befehl vorbelegt. Ich denke, mit dem System Pause bei dir verhält es sich ähnlich.


Oder macht das "Visual" vll den Unterschied?

BeitragVerfasst: Di 21. Sep 2004, 16:37
von ReptileFreak
Frage...woher hast du das C++ Programm?! :sad:

BeitragVerfasst: Di 21. Sep 2004, 16:41
von Skuld
@ekkse: Von Benny
@asw22: Und was rätst du mir, zu tun? :/

BeitragVerfasst: Di 21. Sep 2004, 16:45
von Noriko
C++ ist keine standartiesierte Sprache wie z.b. Pascal, jeder compiler hat kleine eigenarten, gearde wischen Boralnd und Microsoft gibt es einen unterschied.

Ich würde sagen, du solltest entweder herausfinden wie das beim microsoft ehist doer dir borland besorgen ^^

BeitragVerfasst: Di 21. Sep 2004, 16:48
von blobbfish
Ich baue meine Fehlerdiagnose auf der von asw auf. Du benutzt zwei sehr verschiedene Compiler. Der unterschied kommt nicht nur durch das Visual sondern durch das "Microsoft Visual". Microsoft Visual ist im Prinzip eine ganze Programmgruppe beziehungsweise Compilergruppe mit ähnlicher/fast gleicher Entwicklungsumgebung, so gibt es zum Beispiel auch noch Microsoft Visual Basic, Microsoft Visual C.

C/C++ ist zwar eine relativ einheitliche Programmiersprache aber es gibt je nach Compilr unterschiede in der Art der Pogrammierung, dem Syntax und insbesondere der Libs. Es kann also sein, dass es den Befehl zar gibt du aber eine andere Lib brauchst. Ich würde dir empfehlen gänzlich auf Borland umzusteigen, wobei die besten natürlich immernoch von Intel sind, dann auch dementsprechend teuer.

BeitragVerfasst: Di 21. Sep 2004, 16:48
von Skuld
Also im Handbuch steht, er würde den system Pause Befehl automatisch einfügen - ist aber nicht der Fall ;) Ich werd noch mal weiter Handbuch und Hilfe wälzen ...

EDIT: Eigentlich sollte das Teil in der iostream sein, aber ich kann auch noch andere durchprobieren, danke schon mal ..

EDIT: Okay, alles geklärt, der system Pause Befehl ist in ner anderen Lib gewesen, danke blobb! ^^

BeitragVerfasst: Mi 29. Sep 2004, 18:11
von BS
Für eine "Systempause" kannst du auch getch(); nehmen. Das System geht dann logischerweise bei Tastendruck weiter.

getch(); befindet sich in der conio.h

BeitragVerfasst: Sa 2. Okt 2004, 11:55
von nazgul
@Noriko: C/C++ ist standartisiert... woher kommt denn sonst wohl ANSI C++ ?????

@fish:
1. die LIBC von Microsoft ist standart-konform (und du kannst ihren quellcode einsehen, er wird mit ausgeliefert)
2. der C/C++ kompiler von Microsoft __ist__ standartkonform, die MS-SPezifischen erweiterungen sind in der MS-Doku als solche durche ein fettes __BEGIN__MS_SPECIFIC und __END__MS__SPECIFIC kenntlich gemacht...
3.borland sind diejenigen, welchen... die umstellung von borland auf msvc war hart, von msvc nach gcc dagegen nicht... + du kannst bei interesse die erweiterungen auch ganz abschalten, dann macht MSVC nur noch ANSI C/C++

@BS:
conio.h ist __nicht__ portabel!!!
fgetc(STDIN) oder einfach nur getc tuts da besser standartisiert ;-)

so, jetzt zum eigentlichen problem:
ich nehme an, das system() den Befehl pause ausführen soll, (hab kein borland mehr) du kannst das auch selbst machen.

+ int foowait;

s/system("pause")/cin >> foowait

(wenn du iostreams benutzen willst.. ich meine, das wärs...)

sonst einfach
for(;;); du kannst dein programm dann mit STRG+C beenden

BeitragVerfasst: Sa 2. Okt 2004, 13:07
von Skuld
Original geschrieben von Skuld
EDIT: Okay, alles geklärt, der system Pause Befehl ist in ner anderen Lib gewesen, danke blobb! ^^


Ihr solltet mal lesen lernen ;) Aber trotzdem danke für die weiteren Ausführungen, nazzel ^^

BeitragVerfasst: Sa 2. Okt 2004, 16:14
von nazgul
Ach ne.....

blos muss man nicht immer auf MS einhacken....
das macht entschieden mehr spaß, wenns begründet ist...