কনসোল উইন্ডোটি ভিজ্যুয়াল সি ++ এ কীভাবে খোলা রাখবেন?


191

আমি ভিজ্যুয়াল সি ++ এ শুরু করছি এবং কনসোল উইন্ডোটি কীভাবে রাখব তা আমি জানতে চাই।

উদাহরণস্বরূপ এটি একটি সাধারণ "হ্যালো ওয়ার্ল্ড" অ্যাপ্লিকেশন হবে:

int _tmain(int argc, _TCHAR* argv[])
{
    cout << "Hello World";
    return 0;
}

আমি অনুপস্থিত রেখাটি কি?


অমৃত এ। পিল্লাই আপনার কোডটি দেখায় না "চালিয়ে যেতে কোনও কী টিপুন" ধন্যবাদ

আপনি নিজে একটি সাধারণ স্টাডি :: কাউট কল দিয়ে মুদ্রণ করতে পারেন।
রাউল রোয়া

5
সমস্ত প্রস্তাবিত সমাধানের নেতিবাচক দিকটি হ'ল এগুলির কোনওটিই ডিবাগিংয়ের সাথে কাজ করে না (সিটিআরএল + এফ 5 এখানে ব্যর্থ হয়) এবং যখন অ্যাপ্লিকেশনটি অপ্রত্যাশিতভাবে বন্ধ হয়ে যায় (সমস্ত ব্রেকপয়েন্ট বা মূল ফিরতি স্টিডিন থেকে পড়া এখানে ব্যর্থ হয়)। আমি যা দেখতে চাই তা হ'ল এক্লিপস এবং অন্যান্য আইডিইগুলির মতো একটি ইন-আইডিই কনসোল উইন্ডো। প্রোগ্রামটি বন্ধ হয়ে যাওয়ার পরে তারা কেবল স্টাডআউট / স্টডারকে আউটপুট দেখাচ্ছে keep
ড। সাইবারেন

@ সাইবারেন গৃহীত উত্তরগুলি সিটিআরএল + এফ 5 এর সাথে কাজ করে এবং আপনি কেন এমন একটি সমাধান চান যা ডিবাগিং (এফ 5) দিয়ে কাজ করে? ডিবাগিংয়ের পুরো পয়েন্টটি হ'ল .. ডিবাগ? প্রোগ্রাম সমাপ্তির পরে কোনও ডিবাগিং সেশনে বিরতি দেওয়া কনসোল থাকার সুবিধা কী?
জেবেন্টলি

2
প্রক্রিয়াটি সমাপ্ত হওয়ার পরেও @ জ্যাবেন্টলি ইলিপস এবং অন্যান্য আইডিই আপনাকে আপনার প্রোগ্রামের আউটপুট পড়তে দেয়। অবশ্যই আপনি যুক্ত সুবিধাটি দেখতে পাচ্ছেন, বিশেষত যখন কোনও বাগ খুঁজে পাওয়ার চেষ্টা করছেন? এছাড়াও একটি ব্রেকপয়েন্ট কেবল তখনই কাজ করে যখন আপনি জানবেন প্রোগ্রামটি কোথায় শেষ হচ্ছে, যা কখন আপনার স্ক্রিন থেকে আউটপুট অদৃশ্য হয়ে যায় তা বলা শক্ত।
ড। সাইবারেন

উত্তর:


389

ন্যায়বিচারের Ctrl+F5পরিবর্তে প্রকল্পটি শুরু করুন F5

Press any key to continue . . .প্রোগ্রামটি শেষ হওয়ার পরে কনসোল উইন্ডোটি বার্তাটি দিয়ে খোলা থাকবে ।

নোট করুন যে এর জন্য Console (/SUBSYSTEM:CONSOLE)লিঙ্কার বিকল্পের প্রয়োজন , যা আপনি নিম্নলিখিত হিসাবে সক্ষম করতে পারেন:

  1. আপনার প্রকল্পটি খুলুন এবং সমাধান এক্সপ্লোরারটিতে যান। আপনি যদি কে ওআরটিতে আমার সাথে অনুসরণ করেন তবে আপনার "সমাধান" এর অধীনে 1 টি প্রকল্প সহ 'হ্যালো' হবে, সাহসীভাবে 'হ্যালো' হবে।
  2. 'হ্যালো "(বা আপনার প্রকল্পের নাম যাই হোক না কেন) ডান ক্লিক করুন)
  3. প্রসঙ্গ মেনু থেকে "সম্পত্তি" চয়ন করুন।
  4. কনফিগারেশন বৈশিষ্ট্য> লিংক> সিস্টেম নির্বাচন করুন।
  5. ডান-হাতের ফলকে "সাবসিস্টেম" বৈশিষ্ট্যের জন্য, ডান হাতের কলামের ড্রপ-ডাউন বাক্সে ক্লিক করুন।
  6. "কনসোল (/ সাবস্কিস্ট: কনসোল)" চয়ন করুন
  7. প্রয়োগ ক্লিক করুন, এটি যা করে তা শেষ করার জন্য অপেক্ষা করুন, তারপরে ওকে ক্লিক করুন। (যদি "প্রয়োগ" ধূসর হয়ে যায়, তবে অন্য কিছু সাবসিস্টেম বিকল্প চয়ন করুন, প্রয়োগ ক্লিক করুন, তারপরে ফিরে যান এবং কনসোল বিকল্পটি প্রয়োগ করুন My আমার অভিজ্ঞতাটি হ'ল নিজেই ঠিক কাজ করবে না))

সিটিআরএল-এফ 5 এবং সাবসিস্টেম ইঙ্গিতগুলি একসাথে কাজ করে; তারা পৃথক বিকল্প নয়।

(থেকে DJMorreTX সৌজন্যে http://social.msdn.microsoft.com/Forums/en-US/vcprerelease/thread/21073093-516c-49d2-81c7-d960f6dc2ac6 )


36
এটি ডিবাগিং ছাড়াই প্রোগ্রামটি চালায়; কোনও সমাধান করা ভাল যা ডিবাগ এবং সাধারণ রান মোড উভয় ক্ষেত্রেই কাজ করে।
ー パ ー フ ァ ミ コ

3
যে কোনও ব্যক্তি এই সমাধানটি কোনও মেকফিল প্রকল্পে কাজ করার জন্য পেতে পারেন না, এটি ভিজ্যুয়াল স্টুডিওতে একটি বাগের কারণে। আমি ঠিক সঙ্গে একটি উত্তর পোস্ট করেছি।
জেবেন্টলি

1
নিশ্চিত করতে পারেন! একটি কনসোল অ্যাপ্লিকেশন রয়েছে যা কাজ করে না এটি কাজ করে এবং এটি কাজ করে। আপনার কোড cin.get(),getchar(), system("pause")বা অন্য কোনও আবর্জনা দিয়ে আপনার পরিবর্তন করার দরকার নেই । এটি পরিবর্তন করে।
কলাত

Ctrl + F5 এর অর্থ 'ডিবাগিং ছাড়াই শুরু করুন'। সুতরাং আপনি এটি ডিবাগ করার সময় ব্যবহার করতে পারবেন না। system("pause");আপনার কোডের শেষে কেবল যুক্ত করুন । এটি জ্ঞান করে এবং কাজ করে works
মিলাদ 4'18

41

স্ট্যান্ডার্ড cin.get()উপায়টি আপনার রিটার্নের স্টেটমেন্টের আগে।

int _tmain(int argc, _TCHAR* argv[])
{
    cout << "Hello World";
    cin.get();
    return 0;
}

4
আমি জানি যেহেতু প্রোগ্রামটি ইতিমধ্যে কৌট ব্যবহার করছে যে এটি ইতিমধ্যে যত্ন নেওয়া হয়েছে, তবে আমি মনে করি এটি উল্লেখ করা সার্থক মনে হয় যে আপনি <iostream> অন্তর্ভুক্ত করার পাশাপাশি std নেমস্পেস ব্যবহার করতে হবে: std :: cin.get () ।
ব্রায়ান

7
এটি কাজ করে তবে Ctrl + F5 অনেক বেশি ভাল বিশেষত যখন বিশ্বব্যাপী বস্তু ধ্বংস ইত্যাদি সন্ধান করার সময়
টেরেনারি

8
-1 এর জন্য _tmain। আমি cin.get()F5 এর জন্য ব্রেকপয়েন্ট রাখার পরিবর্তে বা Ctrl F5 ব্যবহার করার পরিবর্তে অন্য -1 এ ভোট দেব । তবে আমি কেবল একজনকে ডাউনটাতে অনুমতি দিই।
চিয়ার্স এবং এইচটিএইচ - Alf

8
@ চিয়ার্স: এতে দোষ কী _tmain? কনসোল সাবসিস্টেমকে লক্ষ্য করে একটি উইন্ডোজ অ্যাপ্লিকেশন লেখার এটি স্ট্যান্ডার্ড উপায়। এই স্ট্যান্ডার্ড থেকে বিচ্যুত করা খারাপ অভ্যাস কি হবে। স্পষ্টতই, কেউ এখানে পোর্টেবল কোড সম্পর্কে কথা বলছে না; প্রশ্নটি ভিজ্যুয়াল সি ++ বলে এবং _tmainএটি স্বাক্ষর যা নমুনা কোডটিতে প্রদর্শিত হয়। এই ধর্ম ছেড়ে দেওয়ার সময় এসেছে। উইন্ডোজ ডিফল্টরূপে "অ-মানক" এবং এর মান অনুসরণ করার জন্য খুব ভাল কারণ রয়েছে are
কোডি গ্রে

8
@ কোডি গ্রে: আমার ডাউনভোটটি _tmainহ'ল কারণ এটি সম্পূর্ণ অপ্রয়োজনীয় অ-মানক (আন্তর্জাতিক সি ++ স্ট্যান্ডার্ডের জন্য একটি সমতল প্রয়োজন main), এবং এটি মাইক্রোসফ্টের Tম্যাক্রো স্কিম ব্যবহার করে , যা উইন্ডোজ 9 এক্স সমর্থন করার জন্য অযথা জটিলতা এবং মৌখিকতা। আপনি যদি মানদণ্ড থেকে বিচ্যুত হওয়া খারাপ অনুশীলন বলে মনে করেন, তবে আপনার একেবারে ব্যবহার করা উচিত নয় tmaintmainট্রোলিং বা পেশাদারদের জন্য নিজের অক্ষমতা প্রদর্শনের জন্য ব্যতীত কোনও ভাল কারণ নেই ।
চিয়ার্স এবং এইচটিএইচ - আলফ

24

returnলাইনে একটি ব্রেকপয়েন্ট দিন ।

আপনি এটি ডিবাগারে চালাচ্ছেন, তাই না?


15
প্রোগ্রামের ভিতরে একাধিক প্রস্থান পয়েন্ট থাকতে পারে বলে বেশিরভাগ সময় কঠিন
ভোলজোটান

ডিএলএল হারিয়ে যাওয়ার কারণে প্রোগ্রামটি শুরু না হতে পারে এবং কখনই সেই ব্রেকপয়েন্টে আঘাত হানে না
মাইকেল

17

আরেকটি বিকল্প ব্যবহার করা হয়

#include <process.h>
system("pause");

যদিও এটি খুব বহনযোগ্য নয় কারণ এটি কেবল উইন্ডোজে কাজ করবে তবে এটি স্বয়ংক্রিয়ভাবে মুদ্রণ করবে

চালু রাখবার জন্য যেকোনো বোতাম চাপুন...


1
সিস্টেম ("বিরতি") আপনার প্রসেসরটি চালিয়ে রাখবে, এটি ব্যবহার করা উচিত নয়। একটি cin.get () বা সমতুল্য ব্যবহার করুন।
Krythic

systemঘোষণা করা হয় <stdlib.h>
মেলপোমেন

@ ক্রিথিক আমি কেবল এটি চেষ্টা করেছি এবং এটি 100% সিপিইউ খায় নি। আমার প্রসেসরের ব্যবহার পুরো সময়টিতে 0% - 1% ছিল। পুনরুত্পাদন করা যায় না।
মেলম্পোনে

সিস্টেম ("বিরতি") সেন্টিমিডিতে "বিরতি" কমান্ড কল করবে, যা সার্বক্ষণিক সিপিইউ ব্যবহার করে না। এটি মূলত _getche () এর সমতুল্য।
পল স্টেলিয়ান

7

মেকফিল প্রকল্পগুলির জন্য, ভিজ্যুয়াল স্টুডিওতে একটি বাগের কারণে গ্রহণযোগ্য সমাধানটি ব্যর্থ হয় (যা কমপক্ষে সংস্করণ 2012 পর্যন্ত উপস্থিত রয়েছে - আমি এখনও 2013 পরীক্ষা করে দেখিনি)। এই বাগটি এখানে বিশদ ।

কোনও মেকফিল প্রকল্পে প্রোগ্রামের সমাপ্তির পরে কনসোল বিরতি পেতে, এই পদক্ষেপগুলি সম্পাদন করুন (এটি ২০১০ - ২০১২ ব্যতীত অন্য সংস্করণের জন্য পৃথক হতে পারে):

1) /SUBSYSTEM:CONSOLEলিঙ্কারে পাস করুন। - সম্পাদনা : নীচে দেখুন।

2) আপনার প্রকল্পের ফাইল (.vcxproj) একটি পাঠ্য সম্পাদকটিতে খুলুন।

3) মূল <project>ট্যাগের ভিতরে , নিম্নলিখিতটি সন্নিবেশ করান:

<ItemDefinitionGroup>
  <Link>
    <SubSystem>Console</SubSystem>
  </Link>
</ItemDefinitionGroup>

4) আপনার সমাধানে প্রকল্পটি পুনরায় লোড করুন।

5) ডিবাগিং ছাড়াই প্রোগ্রামটি চালান (সিটিআরএল + এফ 5)।

সম্পাদনা করুন:

নীচের আমার মন্তব্য অনুসারে, লিঙ্কার বিকল্পটি নির্ধারণ /SUBSYSTEM:CONSOLEকরা আসলে মেকফিল প্রকল্পগুলির জন্য অপ্রাসঙ্গিক (এবং যদি আপনি এমএসভিসি ব্যতীত অন্য কোনও সংকলক ব্যবহার করেন তবে অগত্যা সম্ভবও নয়)। সর্বোপরি, উপরের পদক্ষেপ 3 অনুসারে সেটিংসটি .vcxproj ফাইলটিতে যুক্ত করা হয়।


আমি এই পদক্ষেপ 3 এর আগে কখনও শুনিনি। আপনি নিশ্চিত যে এটি প্রয়োজন এবং কাজ করে?
মাকিং হাঁস

@ মুমিংডাক্ক হ্যাঁ, এবং আপনার উত্তর সম্পর্কে আমার মন্তব্যের পরে , আমি এখন আবিষ্কার করেছি যে /SUBSYSTEM:CONSOLEলিঙ্কারের কাছে যাওয়া আসলে অপ্রাসঙ্গিক - পদক্ষেপ 3 এটিই গুরুত্বপূর্ণ। মনে রাখবেন আমার উত্তরটি মেকফিল প্রকল্পগুলির সাথে সম্পর্কিত - একটি মেকফিল প্রকল্পে, আইডিইয়ের আপনি কীভাবে লিংকারটিতে যাচ্ছেন তা জানার কোনও উপায় নেই (আপনি সম্ভবত একটি সংকলকও ব্যবহার করছেন না যার /SUBSYSTEM:CONSOLEবিকল্প রয়েছে), এবং এটিই প্রকল্প নিজেই যা কনসোল প্রোগ্রাম হিসাবে বোঝানো হচ্ছে তা ট্র্যাক করে। আমি আমার উত্তর অনুসারে সম্পাদনা করব।
জেবেেন্টলি

1
@ মুমিংডাক্ক আমি এটিও নিশ্চিত করতে পারি যে আমি এই সমাধানটি একটি মেকফিল প্রকল্পে নিজেই ব্যবহার করি, স্ক্যান্ডসকে বিল্ড সিস্টেম হিসাবে এবং এমএসভিসি এবং মিনজিডাব্লু সংকলক হিসাবে। নন-ডিবাগিং মোডে সমাপ্তির পরে আইডিই কনসোলটি বিরতি দেওয়ার জন্য আমার অন্য কোনও উপায় নেই।
জেবেন্টলি

1
@ চকলেপ্লান্ট আমি ভয় পাচ্ছি না, আমার কর্মপ্রবাহটি অন্যভাবে ছিল, ভিএস থেকে এসসিএনদের কল করে around আমি প্রাথমিকভাবে আমার ভিএস মেকফিল প্রকল্পগুলি ম্যানুয়ালি তৈরি করেছি যাতে তারা আমার এসসিএন স্ক্রিপ্টে (যেমন 32/64 বিট, সংকলকটির নাম, প্রকাশ / ডিবাগ) কনফিগারেশন ভেরিয়েবলগুলি পাস করে, যা পরে যুক্তির বাকী অংশগুলি পরিচালনা করে। সেই সেটআপে প্রজেক্ট ফাইলগুলির আর কোনও পরিবর্তন করার প্রয়োজন ছিল না, তাই আমি এসসিএস-এর কোনও স্বয়ংক্রিয় উত্পন্ন বৈশিষ্ট্য ব্যবহার করিনি। আমি লিনাক্সে স্যুইচ করেছি তাই আমি আর ভিএস ব্যবহার করি না। যেহেতু এটি একটি ভিএস বাগ, এটি প্রয়োজনীয় অতিরিক্ত পদক্ষেপটি পরিচালনা করতে স্ক্যাসনদের কাছে একটি বৈশিষ্ট্য অনুরোধ জমা দেওয়ার পক্ষে উপযুক্ত।
জেবেন্টলে

1
বিকল্পভাবে, আপনি যখনই কোনও প্রকল্পের ফাইল উত্পন্ন হয় তখন আপনি নিজের স্কোন স্ক্রিপ্টে কিছু পাইথন কোড অন্তর্ভুক্ত করতে পারেন। আমি বিশ্বাস করি ভিএস প্রকল্প ফাইলগুলি এক্সএমএল স্ট্যান্ডার্ডের সাথে সামঞ্জস্যপূর্ণ, তাই অনুপস্থিত উপাদানগুলি যুক্ত করা মোটামুটি সহজ হওয়া উচিত এবং কেবল কয়েকটি লাইনের কোডের প্রয়োজন। আমি এখানে (পাইথন 2.x এর জন্য) বা এখানে (3.x) শুরু করার পরামর্শ দেব । এই উত্তরটিও আগ্রহী হতে পারে।
জেবেন্টলি

4

কনসোল উইন্ডোটি বন্ধ হওয়ার হাত থেকে বাঁচতে আপনি আপনার রিটার্ন স্টেটমেন্টের ঠিক আগে cin.get();বা ব্যবহার করতে পারেন cin.ignore();


4

মেনের শেষ কোঁকড়ানো বন্ধনীটির উপর একটি ব্রেকপয়েন্ট রেখেছি।

    int main () {
       //...your code...
       return 0;
    } //<- breakpoint here

এটি আমার পক্ষে কাজ করে, ডিবাগিং ছাড়া চালানোর দরকার নেই। এটি ব্রেকপয়েন্টে আঘাত করার আগে ডেস্ট্রাক্টরদেরও মৃত্যুদন্ড কার্যকর করে যাতে আপনার যদি কিছু থাকে তবে এই ধ্বংসকারীদের উপর কোনও বার্তা মুদ্রণ পরীক্ষা করতে পারেন।


3

কেবল আপনার _tmainপদ্ধতির সমাপ্তি বন্ধনীটিতে একটি ব্রেকপয়েন্ট যুক্ত করুন । এটিই সহজ উপায় প্লাস আপনি ডিবাগ করার জন্য কোড যুক্ত করতে হবে না।


2

এর সমাপ্তি বন্ধনীটির উপর একটি ব্রেকপয়েন্ট রাখুন main()। এটি একাধিক returnবিবৃতি দিয়েও ছিটকে যাবে । একমাত্র ক্ষতি হ'ল একটি কলটি exit()ধরা পড়বে না।

আপনি যদি ডিবাগিং না করে থাকেন তবে জোয়েডবার্গের উত্তরের পরামর্শ অনুসরণ করুন এবং আপনার প্রোগ্রামটি শুরু করার পরিবর্তে Ctrl+ দিয়ে শুরু করুন ।F5F5


2

আমার 2 সেন্ট:

পছন্দ 1: এর শেষে একটি ব্রেকপয়েন্ট যুক্ত করুন main()

পছন্দ 2: ঠিক আগে এর আগে এই কোডটি যুক্ত করুন return 0;:

std::cout << "Press ENTER to continue..."; //So the User knows what to do
std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');

আপনি অন্তর্ভুক্ত করতে হবে <iomanip>জন্যstd::numeric_limits


2

0 এর মতো ফিরে আসার আগে কোডের শেষে কেবল সিস্টেম ("বিরতি") যুক্ত করুন

#include <stdlib.h>

int main()
{
    //some code goes here
    system("pause")
    return 0;
}



1

আমি অন্তর্ভুক্ত করি #include <conio.h>এবং তারপরে, লাইনের getch();ঠিক আগে যোগ করি return 0;। যাই হোক স্কুলে আমি এটাই শিখেছি। উপরে উল্লিখিত পদ্ধতিগুলি আমি দেখতে দেখতে বেশ আলাদা।


2
-1: এদিকে যে প্রোগ্রামটি বিরতি দেওয়া হয় তা সাধারণত ভুল সমাধান হয় (যেহেতু বেশিরভাগ ক্ষেত্রে আপনার প্রকাশিত বাইনারিটি যে আচরণ করা উচিত তা নয়), কনিওএইচ অ-মানক , পুরানো, এবং একটি সি হেডার, সি ++ নয়! দুর্ভাগ্যক্রমে, স্কুলে প্রচুর খারাপ প্রোগ্রামিং শেখানো হয়।
জেবেন্টলি

একমাত্র এটি পরীক্ষার সময় ব্যবহার করা হবে বলে প্রত্যাশা করে, এটি এমন কিছু নয় যা আপনি চূড়ান্ত সংস্করণে রাখবেন। আপনি যদি উইন্ডোজের কোডিং করে থাকেন তবে # অন্তর্ভুক্ত <কনিও.হুল> / _গ্যাচ () ;? এটি cin.get () এর চেয়ে বেশি লিখতে হবে, এটিতে 2 টি (কমপক্ষে একটি অক্ষর + প্রবেশ) টিপতে হবে না এবং এটি কেবল ডিবাগে বা কেবল রিলিজ মোডে কাজ করে না। তাহলে কী হয়েছে?
বার্নাক

1

একই সমস্যা ছিল। আমি _getch()রিটার্ন স্টেটমেন্টের ঠিক আগে ব্যবহার করছি । এটা কাজ করে।


আপনি আপনার কোডটিতে উদাহরণ এবং ব্যাখ্যা যোগ করতে চাইতে পারেন, বিশেষত এতদিন আগে জিজ্ঞাসা / উত্তর করা প্রশ্নের জন্য। এছাড়াও, আপনি উত্তরটি বেশ কয়েকটি পুরানো উত্তরের সাথে কার্যত অভিন্ন এবং অন্য বিদ্যমান উত্তরের মতো একই কলটি ব্যবহার করে।
ক্লকওয়ার্ক-যাদুঘর

0

(কিছু বিকল্প বিভিন্ন নামে ডাকা হতে পারে I আমি ইংরেজি সংস্করণ ব্যবহার করি না)

আমার একই সমস্যা ছিল, যখন আমি "খালি প্রকল্প" বিকল্পের সাহায্যে প্রকল্পগুলি তৈরি করি, "ফাঁকা প্রকল্প" এর পরিবর্তে "উইন 32-কনসোল অ্যাপ্লিকেশন" হিসাবে প্রকল্প তৈরি করি। যে কথোপকথনটি এখন পপ আপ হয়, আপনি "চালিয়ে যান" টিপুন এবং তার পরে আপনি "খালি প্রকল্প" বিকল্পটি পরীক্ষা করতে পারেন এবং নিশ্চিত করে টিপুন। এর পরে সিটিআরএল + এফ 5 একটি কনসোল খুলবে যা স্বয়ংক্রিয়ভাবে বন্ধ হয় না।


0

আমারও একই সমস্যা ছিল; আমার আবেদনে একাধিক প্রস্থান () পয়েন্ট রয়েছে এবং এটি কোথায় থেকে বেরিয়ে আসে তা জানার কোনও উপায় ছিল না, তখন আমি এটি সম্পর্কে জানতে পেরেছিলাম:

atexit(system("pause"));

অথবা

atexit(cin.get());

এই প্রোগ্রামে আমরা যেখানে প্রস্থান করব তা বিবেচনা করেই এটি থামবে।


এর মধ্যে কোনওটিই বৈধ কল নয় atexitatexitএকটি পূর্ণসংখ্যা নয়, একটি ফাংশন পয়েন্টার নেয়।
মেলপোমেন

0

অন্য বিকল্প:

#ifdef _WIN32
#define MAINRET system("pause");return 0
#else
#define MAINRET return 0
#endif

মূল:

int main(int argc, char* argv[]) {
    MAINRET;
}

0

প্রকৃতপক্ষে, আসল সমাধানটি হ'ল প্রকল্পের টেম্পলেটটি নির্বাচন করা। আপনি পুরানো ভিএস-তে উইন 32 কনসোল অ্যাপ্লিকেশন নির্বাচন করতে হবে, বা প্রথমে প্রকল্পের নামটি পূরণ করুন এবং তারপরে উইন্ডোজ ডেস্কটপ উইজার্ডে ডাবল ক্লিক করুন এবং তারপরে উইন 32 কনসোল অ্যাপ্লিকেশনটি নির্বাচন করুন। তারপরে এই মুহুর্তে খালি প্রকল্প নির্বাচন করুন। এটির পরে অতিরিক্ত স্টপিং পয়েন্ট এবং হোল্ড কোড যুক্ত না করে মূল প্রশ্নকর্তা সত্যিকার অর্থে যা চেয়েছিল তার অনুমতি দেয়। আমি এই সমস্যাটিও পেরেছি। উত্তরটি এমএসডিএন সাইটেও রয়েছে।


0

কোনও কোড সংশোধন না করে কার্যকরকরণ কীভাবে বন্ধ হয় তা বিবেচনা না করে কমান্ড উইন্ডোটি খোলা রাখার একটি উপায় এখানে রয়েছে:

ভিজ্যুয়াল স্টুডিওতে, প্রকল্প সম্পত্তি পৃষ্ঠা খুলুন -> ডিবাগিং

জন্য কমান্ড লিখুন$(ComSpec)

জন্য কমান্ড আর্গুমেন্ট প্রবেশ /k $(TargetPath)। আপনার নিজের প্রয়োগটিতে কোনও যুক্তি যুক্ত করুন।

এখন F5 বা Ctrl-F5 একটি নতুন উইন্ডোতে Windows / System32 / cmd.exe চালায় এবং / k নিশ্চিত করে যে আদেশ কার্যকর হওয়ার পরে কমান্ড প্রম্পট খোলা থাকে।

খারাপ দিকটি হ'ল ব্রেক্সিট পয়েন্টে মৃত্যুদন্ড কার্যকর হবে না।


0

যেমন কিছু ইতিমধ্যে চিহ্নিত করেছেন, জায়েডবার্গস সমাধানটি ডিবাগারটি সংযুক্ত করে না, যা এমন কিছু যা আপনি সাধারণত চান না।

সর্বোত্তম বিকল্প ইমো হ'ল সরঞ্জামসমূহ> বিকল্পগুলি> ডিবাগিং> সাধারণ এ গিয়ে সেই অনুযায়ী আপনার ভিএসকে কনফিগার করা (ভিএস 2017 থেকে)। সেখানে আপনি "ডিবাগিং বন্ধ হয়ে গেলে কনসোলটি স্বয়ংক্রিয়ভাবে বন্ধ করুন" (একেবারে নীচে), যা সম্ভবত আপনার ক্ষেত্রে যাচাই করা আছে তা চেক করুন।


-1

আপনি কেবল কিপ-উইন্ডো_উপেন () রাখতে পারেন; এখানে ফেরার আগে একটি উদাহরণ

int main()
{
    cout<<"hello world!\n";
    keep_window_open ();
    return 0;
}

2
Keep_window_open () কোথা থেকে আসে, উদাহরণস্বরূপ কোন শিরোনামের ফাইল এবং লাইব্রেরি?
টম গুডফেলো

এটি এই এক std_lib_facifications.h থেকে তবে বেশিরভাগ সময় আপনি এটি অন্তর্ভুক্ত করেছেন
সিফিস বাবিওনিতাকিস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.