Visualizzazione dei risultati da 1 a 9 su 9

Discussione: c++ e visual studio

  1. #1

    c++ e visual studio

    Ciao a tutti,
    sto scrivendo un semplice programma il c++ con visual studio solo che ho un problema:
    appena mando in esecuzione il mio programma (che per ora fa solo una stampa a video)
    mi appare la shell di windows solo per un istante e poi scompare..
    Cosa devo fare? Sarà un problema di variabili d'ambiente? e se si, come risolvo?
    Grazie a tutti
    Fabio.

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Usa Ctrl-F5 per avviare il programma ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Subito prima della fine del main (prima del return) inserisci
    codice:
    #ifdef _DEBUG
    std::cout<<"Premere Invio per uscire.";
    std::cin.sync();
    std::cin.ignore();
    #endif
    .
    Amaro C++, il gusto pieno dell'undefined behavior.

  4. #4
    Ottima la prima risposta,
    grazie mille!!

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    21
    #ifdef _DEBUG
    std::cout<<"Premere Invio per uscire.";
    std::cin.sync();
    std::cin.ignore();
    #endif


    va bene se lanci il programma solo da visualstudio...

    altrimenti se lanci l'exe a parte non penso funzioni ...

    prova aggiungendo

    system("Pause");

    prima di return 0;
    Everything happens for a reason...

  6. #6
    Originariamente inviato da Edgar89
    va bene se lanci il programma solo da visualstudio...

    altrimenti se lanci l'exe a parte non penso funzioni ...
    Fidati che funziona anche se lanci l'exe a parte. L'#ifdef _DEBUG è semplicemente per includere quel codice solo nella versione di debug dell'eseguibile: la versione release sarà presumibilmente lanciata da riga di comando e l'attesa finale non sarà necessaria. Al limite comunque basta togliere #ifdef _DEBUG e #endif.
    Amaro C++, il gusto pieno dell'undefined behavior.

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    21
    Originariamente inviato da MItaly
    Fidati che funziona anche se lanci l'exe a parte. L'#ifdef _DEBUG è semplicemente per includere quel codice solo nella versione di debug dell'eseguibile: la versione release sarà presumibilmente lanciata da riga di comando e l'attesa finale non sarà necessaria. Al limite comunque basta togliere #ifdef _DEBUG e #endif.
    si, io per lanciare a parte intendevo doppio clic :P
    comunque in generale è utile la sync, se tipo voglio cambiarte il messaggio "premere un tasto per continuare"
    nn lo avevo mai usato
    Everything happens for a reason...

  8. #8
    La sync svuota il buffer di cin (se prima usi delle funzioni di input formattato è necessaria, altrimenti la ignore viene bellamente saltata), mentre è la ignore che fa il vero lavoro di attendere la pressione di Invio.
    Amaro C++, il gusto pieno dell'undefined behavior.

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    21
    ok, grazie!
    questo i dimostra che non le avevo mai usate...
    Everything happens for a reason...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.