Gå til innhold

Min "Hello World" verkar ikkje. Konsollvindauget flyg forbi. Sticky-tråden hjelper ikkje.


Anbefalte innlegg

Det er faktisk ingen kodesnuttar i det heile som gjer at konsollvindauget ikkje flyg forbi. Breakpoints hjelper heller ikkje.

 

Denne koden, til dømes, gjev meg eit konsollvindauge some forsvinn på eit sekund. Det er breakpoint på "cin.get() ;". Eg brukar Visual C++ Express 2010 på Windows 7 32-bit. Er det nokon som veit kva som kan vere gale?

#include <iostream>
using namespace std;
 
int main(){
 
cout << "Hei!" << endl;
cout << "\n\n"; //valgfri
cout << "Press enter to continue.. "; //valgfri
cin.get();
 
return 0;
Endret av ambisjon
Lenke til kommentar
Videoannonse
Annonse

Googla litt;

 

Sjekka dette?

Here is another reason the console may disappear and the solution.

 

With the new visual studio 2010 you might see this behavior even when you use ctrl f5 aka "start without debugging". This is most likely because you created an "empty project" instead of a "Win32 console application". If you create the project as a "Win32 console application" you can disregard this as it does not apply.

In the older versions it would default to the console subsystem even if you selected "empty project", but not in 2010, so you have to set it manually. To do this select the project in the solution explorer on the right or left (probably is already selected so you don't have to worry about this). Then select "project" from the menu bar drop down menus, then select "*project_name* properties" > "configuration properties" > "linker" > "system" and set the first property, the drop down "subsystem" property to "console (/SUBSYSTEM:CONSOLE)". The console window should now stay open after execution as usual.

 

 

Lenke til kommentar

hei,

du mangler en } på slutten...regner med det er typo

 

har ikke vs selv men fungerer fint med gcc

sikker på at du kjører prosjektet og ikke noe annet?

var det en fin kopilering sist?...ingen feil eller noe?

 

Eg har ikkje kompilert nokre av filene i det heile. Eg kan vanskeleg tenkje meg at eg ikkje køyrer koden til den fila som er ope fram føre meg.

 

Googla litt;

 

Sjekka dette?

 

 

Det er Win32 Console Application, ja.

 

 

Viss nokon har lyst å hjelpe meg via TeamViewer, hadde det vore fint. Kanskje problemet vert opebart då.

Endret av ambisjon
Lenke til kommentar

Eg ville heller brukt system("PAUSE"); istedenfor. Da treng du ikkje cin.get() "hack".

 

cin.get() tar også med seg newline-feed i bufferen etter en "cin >>" operasjon.

Prøv gjerne å skylle bufferen med " << endl " før "cin.get()".

 

Tilbake til problemet med "\n" som blir ført videre i cin bufferen. Etter hver "cin" operasjon, prøv å kall på "cin.ignore()". Fikser problemet ang. bufferen.

 

Edit:

 

Etter informasjon gitt og videre søk så er system() calls platform-spesifikk (Win) og derfor allerede ubrukelig ;)

Endret av Oyand
Lenke til kommentar

Eg ville heller brukt system("PAUSE"); istedenfor. Da treng du ikkje cin.get() "hack".

Jeg vil nå si at system("pause") er en hack ettersom den bare fungerer i windows

 

 

Eg har ikkje kompilert nokre av filene i det heile. <snip>

Har du ikke kompilert noen av filene???

 

Har du prøvd å kjøre programmet fra terminal?

Lenke til kommentar

Jeg vil nå si at system("pause") er en hack ettersom den bare fungerer i windows

 

Har du ikke kompilert noen av filene???

 

Har du prøvd å kjøre programmet fra terminal?

 

Takk for den, det visste eg faktisk ikke. Skrev en grei funksjon som du kan ta med deg istedenfor (som er portabel):

 

void pause()

{

std::cout << std::endl << "Press any key to continue...";

getchar();

}

 

getchar() gir også tilbake verdien av knappen som ble brukt, så du kan (om du vil være sikker) sammenligne med nøkkelen til tasten "Enter".

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...