1 00:00:00,000 --> 00:00:02,000 [Powered by Google Translate] [-এ ব্যবহারযোগ্য কমান্ড লাইন আর্গুমেন্ট] 2 00:00:02,000 --> 00:00:04,000 [ক্রিস্টোফার BARTHOLOMEW - হার্ভার্ড বিশ্ববিদ্যালয়] 3 00:00:04,000 --> 00:00:07,000 [এটি CS50 - CS50.TV] 4 00:00:07,000 --> 00:00:11,000 একটি প্রোগ্রামের জন্য দরকারী বৈশিষ্ট্য ব্যবহারকারী ইনপুট গ্রহণ করা হয়. 5 00:00:11,000 --> 00:00:15,000 সেটা অনেক দূরে, আমরা CS50 গ্রন্থাগারের মধ্যে কিছু ফাংশন করেছি অন্বেষণ 6 00:00:15,000 --> 00:00:18,000 যেমন ব্যবহারকারীর ইনপুট, স্বীকার করি "স্ট্রিং পেতে" 7 00:00:18,000 --> 00:00:23,000 যা ব্যবহারকারীকে অনুরোধ জানানো হবে, একটি স্ট্রিং এর জন্য আবেদন করার সময় চলমান,. 8 00:00:23,000 --> 00:00:28,000 >> তবে, মামলা আছে যেখানে আপনি আপনার প্রোগ্রামের ইনপুট প্রদান করতে চান 9 00:00:28,000 --> 00:00:30,000 আগে আসলে এটি চালানো সম্ভব. 10 00:00:30,000 --> 00:00:34,000 এই ভাবে আপনি আপনার ব্যবহারকারী থেকে অতিরিক্ত তথ্যের জন্য আপনাকে করতে হবে না 11 00:00:34,000 --> 00:00:38,000 যখন একটি সহজ নির্বাহ. 12 00:00:38,000 --> 00:00:42,000 উদাহরণস্বরূপ, mv নিন অথবা UNIX-র মধ্যে কমান্ড সরানো,. 13 00:00:42,000 --> 00:00:49,000 এই কমান্ডের সাহায্যে ব্যবহারকারীর অবস্থান থেকে এক অন্য একটি ফাইল সরাতে পারবেন. 14 00:00:49,000 --> 00:00:55,000 ম্যানুয়াল পেজ অনুযায়ী, mv কমান্ড লাইন আর্গুমেন্ট গ্রহণ দুই: 15 00:00:55,000 --> 00:01:00,000 যে ফাইল এবং স্থানান্তরিত অবস্থান ফাইল হচ্ছে স্থানান্তরিত হচ্ছে. 16 00:01:00,000 --> 00:01:06,000 সুতরাং এই উদাহরণ দুটি আর্গুমেন্ট সহ একটি কমান্ড আছে. 17 00:01:06,000 --> 00:01:14,000 তাই কিভাবে আমরা আমাদের সি প্রোগ্রাম না এইসব কমান্ড লাইন আর্গুমেন্ট ব্যবহার করা বলুন? 18 00:01:14,000 --> 00:01:20,000 >> হ্যাঁ, এটি সক্রিয় যে প্রধান, যা আমরা সব সি প্রোগ্রামে ব্যবহার, একটি গোপন আছে. 19 00:01:20,000 --> 00:01:26,000 Argc এবং argv: প্রধান দুটি পরামিতি গ্রহণ করে. 20 00:01:26,000 --> 00:01:28,000 চলুন এই শর্তাবলীর উপর যান. 21 00:01:28,000 --> 00:01:33,000 >> প্রথম প্যারামিটার, argc, যুক্তি গণনা জন্য যা দাঁড়িয়েছে, 22 00:01:33,000 --> 00:01:36,000 একটি পূর্ণসংখ্যা ডাটা টাইপ আছে. 23 00:01:36,000 --> 00:01:42,000 argc পরামিতি আর্গুমেন্টের সংখ্যা, কমান্ড সহ রয়েছে. 24 00:01:42,000 --> 00:01:47,000 আমাদের সরানো কমান্ড, যদিও আমরা কেবল দুটি আর্গুমেন্ট প্রদর্শিত আছে, 25 00:01:47,000 --> 00:01:50,000 argc এর মান 3 হবে. 26 00:01:50,000 --> 00:01:56,000 দ্বিতীয় প্যারামিটার, argv, আর্গুমেন্ট ভেক্টর জন্য যা দাঁড়িয়েছে, 27 00:01:56,000 --> 00:02:01,000 গৃহস্থালির কাজ হয় পয়েন্টার স্ট্রিং যে নির্দেশ শ্রেণীবিন্যাস. 28 00:02:01,000 --> 00:02:06,000 >> এর অর্থ এই যে argv প্রতিটি উপাদান, শূন্য থেকে শুরু, 29 00:02:06,000 --> 00:02:09,000 কমান্ড ও আর্গুমেন্ট রয়েছে. 30 00:02:09,000 --> 00:02:16,000 উদাহরণস্বরূপ, argv [0], যা আমি হিসাবে argv শূন্য পড়ুন করব, 31 00:02:16,000 --> 00:02:20,000 যে কমান্ড চালানো হচ্ছে সবসময় থাকতে হবে - 32 00:02:20,000 --> 00:02:22,000 এই ক্ষেত্রে, mv. 33 00:02:22,000 --> 00:02:28,000 argv [1] প্রথম যুক্তি, file.txt থাকতে হবে, 34 00:02:28,000 --> 00:02:37,000 এবং argv [2] দ্বিতীয় যুক্তি থাকতে হবে, ~ / cs50 /. 35 00:02:37,000 --> 00:02:42,000 argv সর্বশেষ যুক্তি সবসময় নাল হবে. 36 00:02:42,000 --> 00:02:46,000 তাই আসুন এই কমান্ড লাইন আর্গুমেন্ট বাস্তবায়ন. 37 00:02:46,000 --> 00:02:53,000 আগের ব্যায়ামে, আমরা শূন্যস্থান স্থাপন, এর মূল প্যারামিটার হিসাবে কিছুই অর্থাত,. 38 00:02:53,000 --> 00:02:57,000 ক্রম তবে, আমাদের জন্য কমান্ড লাইন আর্গুমেন্ট ব্যবহার করার জন্য, 39 00:02:57,000 --> 00:03:12,000 আমরা যাও প্রধান int-argc, গৃহস্থালির কাজ * argv [] বর্জিত এবং জায়গা ভিতরে সরিয়ে ফেলা আবশ্যক. 40 00:03:12,000 --> 00:03:17,000 এখন, যাও argv থেকে সম্পূর্ণ উপাদান, যা আপনার আর্গুমেন্ট অ্যাক্সেস, 41 00:03:17,000 --> 00:03:21,000 আপনি কেবল বারবার করা, বা ভালো অ্যারের মাধ্যমে লুপ,. 42 00:03:21,000 --> 00:03:27,000 এর ভিতর প্রধান শরীরের তাই,, আমরা এগিয়ে যান এবং লুপ জন্য একটি টাইপ করুন চলুন: 43 00:03:27,000 --> 00:03:37,000 জন্য (int i = 0; তোমার 00:03:41,000 >> আমরা এখানে প্রয়োজন একটি কোঁকড়া বক্রবন্ধনী না কারণ আমরা শুধু এক লাইন কোড করছি নির্বাহ 45 00:03:41,000 --> 00:03:44,000 মধ্যে এই লুপ শরীরের. 46 00:03:44,000 --> 00:03:47,000 আমরা এগিয়ে যাব ট্যাব একবার আঘাত করব, 47 00:03:47,000 --> 00:03:57,000 তারপর টাইপ করুন printf ("argv [% d], একটি পূর্ণসংখ্যা মান প্রতিনিধিত্ব করেন, 48 00:03:57,000 --> 00:04:06,000 চিহ্নিত পংক্তিটি জন্য% s-এ, তারপর, নতুন লাইন অক্ষর. 49 00:04:06,000 --> 00:04:12,000 তারপর আমরা প্রদান লুপ বর্তমান পুনরাবৃত্তির জন্য printf তোমার 50 00:04:12,000 --> 00:04:18,000 এবং argv [i] বর্তমান জন্য কমান্ড লাইন আর্গুমেন্ট স্ট্রিং উপস্থাপনা. 51 00:04:18,000 --> 00:04:25,000 যখন আমরা দুটি আর্গুমেন্ট সঙ্গে এটি চালানোর জন্য, আমরা টার্মিনালে প্রদর্শিত হচ্ছে আর্গুমেন্ট দেখতে পাবেন. 52 00:04:34,000 --> 00:04:38,000 এর আগে আমরা যে argv গৃহস্থালির কাজ পয়েন্টার একটি অ্যারের অনুষ্ঠিত. 53 00:04:38,000 --> 00:04:45,000 >> সুতরাং, এই যদি হয় কেস, তারপর আর কিভাবে আমরা প্রতিটি আর্গুমেন্ট স্বতন্ত্র অক্ষর অ্যাক্সেস? 54 00:04:45,000 --> 00:04:51,000 উদাহরণস্বরূপ, যদি আমি একটি প্রথম আর্গুমেন্ট নির্দিষ্ট অক্ষর সন্ধান করতে চেয়েছিলাম? 55 00:04:51,000 --> 00:04:55,000 ভাল, তবে উত্তর হবে যে আমরা একটি নেস্টেড লুপ প্রয়োগ প্রয়োজন 56 00:04:55,000 --> 00:04:59,000 যে যুক্তি স্ট্রিং মধ্যে উপাদানের মাধ্যমে প্রতিটি পুনরুক্তি করা হবে. 57 00:04:59,000 --> 00:05:02,000 এটি কিভাবে আপনি এটা করবেন. 58 00:05:02,000 --> 00:05:10,000 >> প্রথমত, আমরা example2.c একটি কপি করতে যাচ্ছেন. 59 00:05:10,000 --> 00:05:13,000 তারপর, ভিতর লুপ জন্য প্রথম, 60 00:05:13,000 --> 00:05:15,000 আমরা লুপ জন্য একটি অতিরিক্ত যোগ চলুন. 61 00:05:15,000 --> 00:05:28,000 তাই জন্য (int-j = 0, n = strlen (argv [i]), 62 00:05:28,000 --> 00:05:32,000 তারপর যা দেয় বর্তমান যুক্তি দ্বারা আমাদের, 63 00:05:32,000 --> 00:05:39,000 ; ঞ 00:05:43,000 আমরা প্রতিটি অক্ষরের অবস্থান মুদ্রণ চলুন 65 00:05:43,000 --> 00:05:47,000 printf ব্যবহার করে বর্তমান যুক্তি ভিতরে. 66 00:05:47,000 --> 00:05:57,000 সুতরাং, printf ("argv [% d], বর্তমান যুক্তি সূচক প্রতিনিধিত্বকারী, 67 00:05:57,000 --> 00:06:05,000 তারপর [% d] আবার, বর্তমান যুক্তি বর্তমান চরিত্র প্রতিনিধিত্ব করেন, 68 00:06:05,000 --> 00:06:13,000 হল: আর্গুমেন্ট বর্তমান অক্ষর গ জন্য%,. 69 00:06:13,000 --> 00:06:20,000 অবশেষে, আমরা বাইরের লুপ সূচী সঙ্গে printf প্রদান, তোমার, 70 00:06:20,000 --> 00:06:22,000 তারপর ইনার লুপ সূচী. 71 00:06:22,000 --> 00:06:28,000 >> এবং printf আমাদের শেষ যুক্তি হল থেকে যুক্তি দেওয়া থেকে প্রকৃত চরিত্র 72 00:06:28,000 --> 00:06:31,000 কমান্ড লাইন. 73 00:06:31,000 --> 00:06:37,000 এখন, কারণ আমি স্ট্রিং এর দৈর্ঘ্য প্রাপ্ত স্ট্রিং ফাংশন ব্যবহৃত strlen, 74 00:06:37,000 --> 00:06:43,000 আমি আমাদের অন্তর্গত শীর্ষে string.h লাইব্রেরি যোগ করা আবশ্যক. 75 00:06:43,000 --> 00:06:50,000 সুতরাং, যে না, আমরা আপ এ যান এবং শুধু stdio.h অধীন, আমরা কি করব চলুন 76 00:06:50,000 --> 00:06:57,000 # অন্তর্ভুক্ত . 77 00:06:57,000 --> 00:07:02,000 >> সুতরাং, আসুন এবং কম্পাইল করে এবং এটি একটি প্রকৃত যুক্তি প্রদান. 78 00:07:09,000 --> 00:07:18,000 >> এবং, আমরা হিসাবে দেখতে পারেন, আমরা এখন প্রতিটি গৃহস্থালির কাজ সঠিক আর্গুমেন্ট অবস্থান আছে. 79 00:07:18,000 --> 00:07:23,000 সুতরাং যে এটি. আমি ক্রিস্টোফার BARTHOLOMEW; এটি CS50. 80 00:07:23,000 --> 00:07:26,000 [CS50.TV]