[সঙ্গীত বাজাচ্ছি] ডগ লয়েড: ঠিক আছে, তাই আসুন কমান্ড লাইন আর্গুমেন্ট সম্পর্কে কথা বলতে. সুতরাং, এখন পর্যন্ত অবশ্যই প্রশংসনীয় আপনার প্রোগ্রাম অনেক সব সম্ভবত শুরু করেছেন আপাততঃ int প্রধান অকার্যকর মত. আমরা সংগ্রহ করে থাকেন ব্যবহারকারীর ইনপুট আমরা এটা প্রয়োজন যদি যেমন আমাদের প্রোগ্রাম, এ মারিও প্রোগ্রাম, উদাহরণস্বরূপ, ইন প্রোগ্রাম অনুরোধ জানানো দ্বারা. আমরা পরিবর্তনের জন্য প্রয়োজন হয় নি প্রধান ঘোষণা, কারণ এর পরিবর্তে প্রধান আমরা ভেতরে আপনি কোন int পেতে কল করার জন্য এটি হতে পারে, বলে. কত বড় যদি আপনি পিরামিড হতে চান না? অথবা আপনি পেতে এটি কল করতে পারেন কত পরিবর্তন float-- ব্যবহারকারী যাও আমি আউটপুট উচিত? অন্য ভাবে, যদিও এখন পর্যন্ত এবং আমরা আমাদের ব্যবহারকারীদের চান প্রদান পাবে আমাদের প্রোগ্রাম তথ্য পরিবর্তে যখন রানটাইম প্রোগ্রাম, চলমান একটি সূক্ষ্ম পার্থক্য কিন্তু কখনও কখনও একটি খুব দরকারী এক, আমরা প্রধান ঘোষণা একটি নতুন ফর্ম প্রয়োজন. আমরা করতে চান, int প্রধান অকার্যকর ব্যবহার করতে পারবেন না কমান্ড-লাইন থেকে অন্যান্য তথ্য সংগ্রহ ব্যবহারকারী প্রোগ্রাম রান যখন, অত: পর কমান্ড লাইন আর্গুমেন্ট. এই কমান্ড-লাইন সংগ্রহ ব্যবহারকারী থেকে আর্গুমেন্ট, আপনার ঘোষণার পরিবর্তন আপাততঃ কোন int মত চেহারা প্রধান প্রধান, খোলা paren, int-argc, কমা, স্ট্রিং argv, বর্গাকার বন্ধনী, এবং তারপর কোঁকড়া বক্রবন্ধনী খুলুন. সুতরাং যে ইতিমধ্যে এর অর্থ কী? ওয়েল, আমরা দুটি প্যারামিটার ক্ষণস্থায়ী হয়, প্রধান বা আর্গুমেন্ট, বা ইনপুট. এক, একটি পূর্ণসংখ্যা বলা argc, এবং অন্যান্য কি? এটা ঠিক আছে, স্ট্রিং একটি অ্যারে আছে? আমরা যে বর্গাকার বন্ধনী স্বরলিপি দেখতে. এটা স্ট্রিং একটি অ্যারে. এটি একটি পৃথক পংক্তি নয়, এটা স্ট্রিং একটি অ্যারে. আর এই দুটি আর্গুমেন্ট, argc এবং argv, কি তথ্য ব্যবহারকারীর জানতে সক্ষম কমান্ড-লাইন থেকে জুগিয়েছেন এবং কিভাবে অনেক কিছু তারা কমান্ড-লাইনে প্রদত্ত. এর সাথে কাজ করা বেশ দরকারী জিনিষ. Argc, যুক্তি গণনা ঘোরা এবং আপনি উপায় দ্বারা, জানা উচিত, আপনি argc পেরেছিলাম যে আপনি এটি করতে চান যাই হোক না কেন. আপনি চেয়েছিলেন যাই হোক না কেন যে argv কল করতে পারেন. এই মাত্র প্রচলিত নাম হয় আমরা them-- যুক্তি গণনা জন্য ব্যবহার করে, এবং আমরা একটি দ্বিতীয় মধ্যে দেখতে পাবেন, যুক্তি ভেক্টর, argv হয়. কিন্তু আপনি তাদের সাথে যোগাযোগ করে করতে হবে না আপনি চান না যদি argc এবং argv, কিন্তু সাধারনত, যে আমরা কি করব তা. তাই যাহাই হউক না কেন,-argc, যুক্তি গণনা. এটি একটি পূর্ণসংখ্যা টাইপ ভেরিয়েবল এবং তাই, যেমন আমরা দুটি জিনিস আছে, যদি আপনি আশা করতে পারে আমরা খুঁজে বের করা চলুন যে এই টাইপ করা হয় তা খুঁজে এবং কত স্টাফ ব্যবহারকারী টাইপ, argc হয় আমাদের বলুন আপনি কত যাচ্ছে টাইপ ব্যবহারকারী সামগ্রী. আপনার একটি নম্বর দেয় তাই কমান্ড লাইন আর্গুমেন্ট ব্যবহারকারী প্রোগ্রাম মৃত্যুদন্ড দেয়া হলে টাইপ. আপনার প্রোগ্রামটি যদি তাই ডট লোভী কাট চালানো, এবং আপনার অর্থগৃধ্নু ভেতরে আপনার প্রধান ফাংশন প্রোগ্রাম ঘোষণা int প্রধান int-argc আছে, স্ট্রিং তারপর বর্গাকার বন্ধনী argv যে ক্ষেত্রে Argc এক. এখন আমরা কি না লক্ষ্য কিভাবে অনেক কিছু গণনা ব্যবহারকারী প্রোগ্রাম নামানুসারে টাইপ. প্রোগ্রামের নাম নিজেই counts একটি কমান্ড লাইন আর্গুমেন্ট হিসাবে. সুতরাং এ, অর্থগৃধ্নু বিন্দু স্ল্যাশ যে ক্ষেত্রে,-argc এক. ব্যবহারকারী স্ল্যাশ লোভী 1024 এবং CS50 টাইপ যে ক্ষেত্রে Argc কমান্ড-লাইন, এ তিনটি হবে. আমরা কখনও পথ কারণ এই জানি যে স্ট্রিং মধ্যে বিভাজন কিনা সনাক্ত করা একটি স্থান, বা একটি ট্যাব আছে, বা তাদের মধ্যে যে ভালো কিছু. তাই সাদা স্থান যে কোন পরিমাণ, তথাকথিত, মানের মধ্যে কমান্ড লাইন টাইপ আছে কতগুলি ইঙ্গিত. সুতরাং লোভী স্থান 1024 স্থান বিন্দু স্ল্যাশ এবং CS50 argc হয়, সেই ক্ষেত্রে, তিনটি হল. Argv আর্গুমেন্ট ভেক্টর হয়. ভেক্টর, উপায় দ্বারা, শুধু হয় একটি অ্যারের জন্য আরেকটি শব্দ, এবং এই একটি অ্যারে যে স্ট্রিং সঞ্চয় করে. যা উপাদান প্রতি এক পংক্তি, স্ট্রিং যে ব্যবহারকারী আসলে কমান্ড-লাইনে টাইপ প্রোগ্রাম মৃত্যুদন্ড দেয়া হলে. এখন, হিসাবে যদি হয় কোনো অ্যারের সঙ্গে, আপনি যদি আমাদের আলোচনা থেকে প্রত্যাহার অ্যারে, argv প্রথম উপাদান সবসময় অন্তর্ভুক্ত করা যাচ্ছে argv হয় বর্গাকার বন্ধনী শূন্য এ. যে প্রথম সূচক argv অ্যারে এর. যাতে ইচ্ছার এবং সত্য, যে ইচ্ছা সবসময় প্রোগ্রামের নাম হতে, সবসময় এ অবস্থিত হবে argv হয় বর্গাকার বন্ধনী শূন্য. argv সর্বশেষ উপাদান সবসময় পাওয়া যায় argv হয় বর্গাকার বন্ধনী-argc বিয়োগ এক সময়ে. আপনি কেন দেখতে পান কি? কতগুলি উপাদান মনে রাখবেন এই অ্যারের মধ্যে বিদ্যমান. ওয়েল, আমরা এটা কিন্তু যে জানি উপাদানের argc নম্বর. ব্যবহারকারী এ তিনটি বিষয় টাইপ কমান্ড-লাইন argc হয় তিনটি. কিন্তু কারণ সি, যখন আমরা কাজ করছি অ্যারে, অ্যারের প্রতিটি উপাদান, বা বরং সূচকের অ্যারে, শূন্য থেকে আরম্ভ হয়. আমরা তিনটি উপাদান থাকে আমাদের অ্যারে, আমরা argv শূন্য এ একটি উপাদান আছে argv হয় এক সময়ে একটি উপাদান, argv হয় দুটি সময়ে এবং একটি উপাদান. Argv হয় এ কোন উপাদান নেই তিন, এবং আকার তিন একটি অ্যারের. সুতরাং যে কেন গত এর argv এর উপাদান সবসময় পারেন argv হয় স্কয়ার এ অন্তর্ভুক্ত করা বন্ধনী-argc বিয়োগ এক. তাই এর ইউজার, executes অনুমান করা যাক অনুসরণ হিসাবে অর্থগৃধ্নু প্রোগ্রাম তারা কমান্ড-লাইন বিন্দু টাইপ হলে লোভী স্থান 1024 স্থান এবং CS50 কাট এবং কারনের জন্য আমরা করেছি ইতিমধ্যে আমাদের অর্থগৃধ্নু প্রোগ্রাম প্রস্তুত জানেন এবং এই সঙ্গে কাজ করার কমান্ড লাইন আর্গুমেন্ট. আমরা কাজ যখন আমরা পূর্বে না লোভী সমস্যার জন্য এটা, কিন্তু কিছু বলতে আমরা এখন পরিবর্তিত করেছি বলা যাক এটা যাতে প্রক্রিয়াটি কিছু উপায় কমান্ড লাইন আর্গুমেন্ট. এই ক্ষেত্রে, শূন্য argv বিন্দু স্ল্যাশ লোভী. Argv হয় কী? ওয়েল, এটা ঠিক আছে, 1024 এর? এটা 1024, কিন্তু এখানে একটি কী সত্যিই গুরুত্বপূর্ণ distinction-- আপনি argv এর ডাটা টাইপ মনে রাখবেন না? এটা ঠিক আছে, স্ট্রিং সঞ্চয় করে? কিন্তু এটা 1024 মত দেখায় একটি পূর্ণসংখ্যা মান. এটি একটি সত্যিই গুরুত্বপূর্ণ পার্থক্য, এবং আসলে কিছু হয়ে যাচ্ছে যে আপনি পরে সমস্যার সম্মুখীন হতে পারে. Argv মধ্যে সবকিছু একটি স্ট্রিং হিসেবে সংরক্ষণ. সুতরাং argv এক এর বিষয়বস্তু স্ট্রিং এক, শূন্য, দুই, চার, যারা চার অক্ষর নিয়ে গঠিত. এটি ব্যবহারকারী টাইপ হিসাবে যদি এক, শূন্য, দুই, চার পৃথক অক্ষর বা অক্ষর হিসেবে. এটা, পূর্ণসংখ্যা 1024 নয় এবং যাতে আপনি সরাসরি না করতে পারেন কোন int 1,000 বলছে এটা দিয়ে কাজ, বা বরং, int x argv হয় এক বিয়োগ 24 সমান. Intuitively, আপনি যে মনে হতে পারে , ঠিক আছে, ভাল এটা 1,024 বিয়োগ 24 এর, যেমন তাই এক্স 1,000 সমান. কিন্তু আসলে, যে, যদি না argv হয় এক একটি পংক্তি কারণ. স্ট্রিং 1024. এখন হতে পারে যে একটি ফাংশন আছে পূর্ণসংখ্যার স্ট্রিং রূপান্তর করতে ব্যবহৃত. আমি এটা আপনার জন্য না লুণ্ঠন করা এখন, কিন্তু আমি নিশ্চিত নই, Zamyla এটি সম্পর্কে বলতে খুশি হবে ভবিষ্যতে সমস্যার জন্য, walkthrough. কিন্তু আপনার কাছে জানতে পারেন সমস্যার করার মত অজুহাত আমার, ফাংশন যে would রেফারেন্স 50 এই কাজ, আপনি রেফারেন্স গাইড যান তাহলে আপনি যদি একটি ফাংশন খুঁজে পেতে পারেন যে আপনার জন্য এই রূপান্তর করতে হবে. কিন্তু আবার, walkthrough মধ্যে ভবিষ্যতে সমস্যার জন্য, Zamyla খুশি হবে কি ফাংশন আপনি বলুন এটা যে রূপান্তর হবে পূর্ণসংখ্যা 1024 স্ট্রিং 1024. ঠিক আছে, তাই পরিবর্তনশীল. আমরা, আমাদের argv শূন্য আবৃত করেছি আমরা এক argv হয় আবৃত করেছি. কি argv হয় দুই এর? এবং CS50. যে কেউ সম্ভবত চমত্কার স্বশাসিত. কি argv হয় তিন আয়? ওয়েল আবার, আমরা সত্যিই জানি না, ঠিক আছে? আমরা, আকার তিনটি একটি অ্যারে আছে যে কতগুলি উপাদান ব্যবহারকারী কমান্ড-লাইনে টাইপ, তাই আমরা তিন argv যেতে হলে, আমরা এখন overstepping করছি আমাদের অ্যারের সীমার. কম্পাইলার, আমাদের এই কাজ করতে দেওয়া হবে কোন স্বজ্ঞাত সমস্যা এটা দিয়ে আছে, কিন্তু আসলে পদ কি ঘটছে ঘটতে আমরা সত্যিই জানি না. কি হল এটা উপর নির্ভর করে মেমরি যেখানে অবস্থিত argv হয় তিনটি হতে হবে বলে আশা করা হবে. আর তাই আমরা শেষ পর্যন্ত পারে দূরে Scot ফ্রী পাচ্ছেন. আরো সম্ভবত বেশী না, বিশেষ করে যখন উল্টোদিকে আপনি argv হয় সাথে কাজ করছি অন্য কোন অ্যারের যে, আমাদের প্রোগ্রাম এর আমরা সম্ভবত ভোগে চলুন একটি সেগমেন্টেশন ফল্ট. তাই আবার, সীমালংঘন নিশ্চিত না করা আপনার অ্যারে, বিশেষ argv, তার উচ্চ ডিগ্রী দেওয়া আপনার প্রোগ্রামে গুরুত্ব. আমি ডগ লয়েড আছি. এটি CS50.