القابضة CMD.EXE مفتوحة على فيستا
سؤال
أنا أكتب برامج وحدة التحكم C ++. بعد التجميع، عندما أقوم بتشغيل البرنامج من متصفح الملفات الخاص بي، يغلق CMD.EXE تلقائيا بحيث لا يمكنني رؤية إخراج برامجي.
الطريقة الوحيدة للحجب حول هذا لقد وجدت هي تشغيل البرنامج من داخل CMD.EXE
هل هناك على أي حال للحفاظ على CMD.EXE مفتوحة بعد انتهاء البرنامج قيد التشغيل؟
هل هناك إعداد يمكنني تغيير مكان ما؟ لا أريد تشغيل برنامج نصي دفعة مع cmd.exe / k
شكرا!
تحرير] لا أعرف إذا كانت هذه الأمور، لكنني في Vista X64
المحلول
اطلب من طلبك طلب جائز قبل الخروج - هذا هو الأسهل الإصلاح!
نصائح أخرى
يمكنك إعداد اختصار مع رمز التبديل / K عند تشغيل CMD.EXE ليس بإنهائه بعد تشغيل أمر معين:
cmd.exe /K YourProgram.exe
لقد كنت دائما من المعجبين فقط بإنشاء ملف دفعي يدعو إلى برنامجك ثم يتواصل مؤقتا
prog.exe وقفة
سيعطي هذا "اضغط على أي مفتاح للمتابعة ..." موجه، إنه بسيط ولا يتطلب تعديل البرنامج.
كما السطر الأخير من الخاص بك main()
وظيفة، يمكنك إضافة هذا الخط:
system("PAUSE");
أيضا، تأكد من #include <stdlib.h>
للإعلان system()
وظيفة. سيجعل هذا وقفة وحدة التحكم. ومع ذلك، إذا تم تشغيل البرنامج من الداخل cmd.exe
, ، ستظل هذا توقف مؤقتا، مما قد يكون غير مرغوب فيه.
أعلم أنك طلبت كيفية القيام بذلك عبر متصفحات الملفات، ولكن في حالة مهتم أشخاص آخرين في نفس المشكلة ولكن من خلال Visual Studio:
من الأفضل تعيين نقطة توقف مباشرة قبل انتهاء البرنامج.
ثم يمكنك نشر exe الخاص بك ويمكنك التأكد من أنك لن تنسى إزالة طلب الإدخال. من الأفضل أيضا أن يطلب الإدخال لأنه يستغرق الكثير من الوقت للتعليق والعودة في طلب المدخلات.
أعتقد أنه من الأفضل ألا تطلب الإدخال وإبداء بدء البرنامج الخاص بك من موجه الأوامر المطلق.