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

Alle Arten von Programmen und Anwendungen: Egal ob Betriebssysteme, Systemtools, Grafikbearbeitung, Musikeditoren oder Textverarbeitung. Hier wird über alles gesprochen.
Skuld
Lebende Legende
Lebende Legende

Benutzeravatar
 
Beiträge: 2240
Registriert: 25.01.2001
Di 21. Sep 2004, 16:22 - Beitrag #1

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

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?

asw22
Member
Member

 
Beiträge: 135
Registriert: 26.02.2004
Di 21. Sep 2004, 16:35 - Beitrag #2

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?

ReptileFreak
Senior Member
Senior Member

Benutzeravatar
 
Beiträge: 869
Registriert: 27.03.2002
Di 21. Sep 2004, 16:37 - Beitrag #3

Frage...woher hast du das C++ Programm?! :sad:

Skuld
Lebende Legende
Lebende Legende

Benutzeravatar
 
Beiträge: 2240
Registriert: 25.01.2001
Di 21. Sep 2004, 16:41 - Beitrag #4

@ekkse: Von Benny
@asw22: Und was rätst du mir, zu tun? :/

Noriko
Moderator
Moderator

Benutzeravatar
 
Beiträge: 5864
Registriert: 15.11.2001
Di 21. Sep 2004, 16:45 - Beitrag #5

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 ^^

blobbfish
Listenkandidat
Lebende Legende

Benutzeravatar
 
Beiträge: 3022
Registriert: 26.01.2003
Di 21. Sep 2004, 16:48 - Beitrag #6

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.

Skuld
Lebende Legende
Lebende Legende

Benutzeravatar
 
Beiträge: 2240
Registriert: 25.01.2001
Di 21. Sep 2004, 16:48 - Beitrag #7

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! ^^

BS
Junior Member
Junior Member

 
Beiträge: 60
Registriert: 29.04.2004
Mi 29. Sep 2004, 18:11 - Beitrag #8

Für eine "Systempause" kannst du auch getch(); nehmen. Das System geht dann logischerweise bei Tastendruck weiter.

getch(); befindet sich in der conio.h

nazgul
Excellent Member
Excellent Member

Benutzeravatar
 
Beiträge: 674
Registriert: 08.02.2003
Sa 2. Okt 2004, 11:55 - Beitrag #9

@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

Skuld
Lebende Legende
Lebende Legende

Benutzeravatar
 
Beiträge: 2240
Registriert: 25.01.2001
Sa 2. Okt 2004, 13:07 - Beitrag #10

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 ^^

nazgul
Excellent Member
Excellent Member

Benutzeravatar
 
Beiträge: 674
Registriert: 08.02.2003
Sa 2. Okt 2004, 16:14 - Beitrag #11

Ach ne.....

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


Zurück zu Software

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 6 Gäste

cron