Ini mungkin pertanyaan yang memalukan karena tidak diragukan lagi jawabannya sangat jelas.
Saya telah menggunakan Visual Studio selama bertahun-tahun, tetapi ini adalah pertama kalinya saya melakukan pengembangan 'Aplikasi Konsol'.
Ketika saya menjalankan aplikasi saya jendela konsol muncul, output program muncul dan kemudian jendela ditutup ketika aplikasi keluar.
Apakah ada cara untuk tetap membuka sampai saya memeriksa output, atau melihat hasilnya setelah jendela ditutup?
c
visual-studio
console
Martin
sumber
sumber
Jawaban:
Jika Anda menjalankan tanpa debugging (Ctrl + F5) maka secara default meminta Anda untuk menekan kembali untuk menutup jendela. Jika Anda ingin menggunakan debugger, Anda harus meletakkan breakpoint pada baris terakhir.
sumber
ctrl+f5
tidak berfungsi, tidak adaProperties
ketika saya mengklik kanan proyek, jugawrench icon
diklik.Klik kanan pada proyek Anda
Pilih Konsol (/ SUBSYSTEM: CONSOLE) di
SubSystem
opsi atau Anda bisa langsung mengetik Konsol di bidang teks!Sekarang coba ... itu harus bekerja
sumber
CTRL+F5
akan gagal jika Anda, katakanlah, menambahkan file C ++ baru ke proyek kosong.Berikut ini cara untuk C / C ++:
Letakkan ini di bagian atas program Anda, dan JIKA ada di sistem Windows (
#ifdef _WIN32
), maka itu akan membuat makro yang disebutWINPAUSE
. Setiap kali Anda ingin program Anda berhenti, panggilanWINPAUSE;
dan itu akan menghentikan program, menggunakan perintah DOS. Untuk sistem lain seperti Unix / Linux, konsol seharusnya tidak berhenti saat keluar dari program.sumber
pause
perintah Windows-spesifik.Goto Debug Menu-> Tekan StartWithoutDebugging
sumber
Jika Anda menggunakan .NET, letakkan
Console.ReadLine()
sebelum akhir program.Itu akan menunggu
<ENTER>
.sumber
Console.ReadKey()
hanya menunggu kunci apa saja.Mulai dari Visual Studio 2017 (15.9.4) ada opsi:
Fragmen yang sesuai dari dokumentasi Visual Studio :
sumber
coba panggil
getchar()
tepat sebelummain()
kembali.sumber
(/ SUBSYSTEM: CONSOLE) tidak berfungsi untuk vs2013 saya (saya sudah memilikinya).
"jalankan tanpa debugging" bukanlah suatu opsi, karena saya tidak ingin beralih antara debugging dan melihat output.
Saya berakhir dengan
Solusi yang digunakan dalam qtcreator pra 2.6. Sekarang sementara qt sedang berkembang, vs sedang menuju ke arah lain. Seingat saya, di VS2008 kita tidak perlu trik seperti itu.
sumber
Berikut adalah solusi yang (1) tidak memerlukan perubahan kode atau breakpoint, dan (2) berhenti setelah penghentian program sehingga Anda dapat melihat semua yang dicetak. Ini akan berhenti setelah F5 atau Ctrl + F5. Kelemahan utama adalah bahwa pada VS2013 Express (seperti yang diuji), ia tidak memuat simbol, sehingga debugging sangat dibatasi.
Buat file batch. Saya menelepon milik saya
runthenpause.bat
, dengan isi sebagai berikut:Baris pertama akan menjalankan perintah apa pun yang Anda berikan dan hingga delapan argumen. Baris kedua akan ... berhenti sebentar.
Buka properti proyek | Properti konfigurasi | Debugging.
$(TargetPath)
(atau apa pun yang ada di "Perintah").runthenpause.bat
.Sekarang, ketika Anda menjalankan,
runthenpause.bat
akan meluncurkan aplikasi Anda, dan setelah aplikasi Anda dihentikan, Anda akan berhenti untuk melihat output konsol.Saya akan memposting pembaruan jika saya tahu cara mendapatkan simbol dimuat. Saya mencoba
/Z7
per ini tetapi tidak berhasil.sumber
cukup cantumkan baris kode terakhir Anda:
sumber
Anda bisa menjalankan executable Anda dari prompt perintah. Dengan cara ini Anda bisa melihat semua output. Atau, Anda dapat melakukan sesuatu seperti ini:
dan dengan cara ini jendela tidak akan menutup sampai Anda memasukkan data untuk
a
variabel.sumber
tambahkan "| jeda ”di kotak argumen perintah di bawah bagian debugging di properti proyek.
sumber
pause
tampaknya hanya berfungsi dalam file batch, dan saat menerima input dari program Anda di STDIN, itu tidak mencetak ulang teks itu. Saya mencoba mengganti|
dengan&&
, tetapi tidak berpengaruh - mungkin karena tidak dijalankan dengan shell perintah (cmd.exe).Cukup tekan CNTRL + F5 untuk membukanya di jendela baris perintah eksternal (Visual Studio tidak memiliki kendali atasnya).
Jika ini tidak berhasil maka tambahkan berikut ini di akhir kode Anda:
Ini menunggu Anda untuk menekan tombol untuk menutup jendela terminal setelah kode mencapai akhir.
Jika Anda ingin melakukan ini di banyak tempat, masukkan kode di atas dalam suatu metode (mis.
private void Pause()
) Dan panggilPause()
setiap kali suatu program mencapai kemungkinan akhir.sumber
Solusi yang agak lebih baik:
di awal program Anda.
Pro:
cin.sync(); cin.ignore();
trik alih-alihsystem("pause");
)Cons:
sumber
Baik digunakan:
cin.get();
atau
system("pause");
Pastikan untuk membuat keduanya di akhir
main()
fungsi dan sebelumreturn
pernyataan.sumber
Anda juga dapat menggunakan opsi ini
sumber
Dalam kasus saya, saya mengalami ini ketika saya membuat proyek Empty C ++ pada edisi komunitas VS 2017. Anda perlu mengatur Subsistem ke "Konsol (/ SUBSYSTEM: CONSOLE)" di bawah Configuration Properties.
sumber
Visual Studio 2015 , dengan impor . Karena saya benci ketika contoh kode tidak memberikan impor yang dibutuhkan.
sumber
Gunakan
Console.ReadLine()
di akhir program. Ini akan membuat jendela terbuka sampai Anda menekan Entertombol. Lihat https://docs.microsoft.com/en-us/dotnet/api/system.console.readline untuk detailnya.sumber