![]() |
آرگومان برای تابع main() ارسال مقادیر برای فایل EXE (ارگومان خط فرمان command line argument )
آرگومان برای تابع main() ارسال مقادیر برای فایل EXE (ارگومان خط فرمان command line argument )
نقل قول:
این واسه برنامه های کنسول هست و برای برنامه هایی که فرم اپلیکیشن هستند من چیزی نمیدونم فرض رو هم بر این میگیریم که شما سوالت در مورد برنامه های به زبان سی هست . اولا کاربرد این چی هست ؟ مثلا شما در خط فرمان اگر notepad.exe رو بعدش اسم یه فایل متنی رو بنویسین و بزنین اون رو براتون باز میکنه یا یادتون هست در دوران داس مثلا edit text1.txt رو میزدی برنامه ادیبت این فایل رو باز میکرد به هر دلیلی شما بخواین ارگومانی رو بفرستین به برنامه باید تابع main از پیش اماده شده باشه . برای توضیحات بیشتر حتما توی نت برای argv argc سرچ کنین argc یه عدد صحیحه که حداقلش 1 هست و تعداد ارگونانهای موجود در خط فرمان رو نگه میداره (واسه این حداقلش یکه که اسم فایل رو باید نگه داره ) و argv ارایه ای از اشارگرهای رشته ای است کد:
# include <iostream.h> یک نکته اینکه این argc argv دو تا اسم اختیاری هستند هر چیزی میتونین بذارین منتهی این اسما متداول هستند و شما برای سرچ در نت از همین اسم استفاده کنین . char * argv[] این براکت برای این هست که ما طول رشته رو نمیدونیم . حالا برای دست یافتن به هرکدام از این رشته ها باید از ایندکس استفاده کرد مثلا argv[0] نام برنامه است و argv[1] اولین ارگومان است برنامه بالا همه ی ارگومان ها رو نشون میده . اسپیس و tab برای سپریتور قابل قبوله و اگر از رشته ای استفاده کردیم که خودش حاوی اسپیس بود باید اون رو توی "" بگذارید "this is a test" |
یک سوال کمی تا قسمتی امنیتی: چه کنیم که «.h »و «.cpp»واسط را به کاربر بدهیم اما پیاده سازی را به او ندهیم؟ |
سلام. |
سلام:)
دوتا سئال دارم شاید براتون عجیب باشه که نمیدونم ولی خب نمیدونم 1-کنسول اپلیکیشن چیه؟ 2-موقع آرگومان دادن به تابع چه جوری بفهمیم call by reference بهتره یا call by value ؟ منظورم اینه که تو آرگومانا کیا از علامت & استفاده کنیم؟ معمولا وقتی میخوایم جریان ورودی و خروجی رو تعریف کنیم برا گونه جدید، ازش استفاده میکنیم، ولی میخوام بدونم اولا چرا، دوما آیا همیشه اینجوریه؟ دیگه کجاها اینکارو بکنیم؟ یه سوال کوچولوی دیگه هم داشتم انگار یادم رف! یادم اومد میپرسمش. آها یادم اومد! فرق debug و run رو نمیدونم چیه. ممنون میشم بگید |
تا زکریا بیاد بنده شاگردش جواب میدم .
کنسولی که شما مد نظرت هست یعنی اینکه همون صفحه سیاهه بیاد توش برنامه بنویسی به جای اینکه فرم و دکمه و گرافیک ببینی کلا کنسول منظور کیبرد و مانیتور هست وقتی میگی cin یا cout یعتی اینکه ورودی رو نه از فایل نه از اسکنر بلکه از کیبرد بگیر و خروجی رو نه به فایل نه به پرینتر نه به هیچ ! بلکه به مانیتور ببر و چاپ کن بعضی وقتها شما نیازی به چاپ اطلاعات خروجی نداری فقط باید ذخیره ش کنی در فایل پس از cout استفاده نمیکنی (consol out console in ( یا مثلا در دستورات داس اگر یادتون باشه مثلا دستور copy con رو داشتی این هم همون کنسوله ... پس برنامه نویسی کنسول یعنی با خط فرمان کار کنی و خروجیتم همونجا توی اون صفحه توی مانیتور باشه ... در عوض فرم اپلیکیشن داری وب اپلیکشن داری و .../.. برای رفرنس و ولیو : تکنیک کال بای رفرنس برای این ایجاد شده که یه وقت یه داده ای خیلی بزرگه حجمشم زیاده به جای اینکه یه کپی ازش درست بشه و تو با کپیش کار کنی و دو نسخه داده داشته باشی میگی مستقیم با خود داده اصلی کار کن شما معمولا توابعتون تا الان توی درس مبانی مثلا یه عدد صحیح یا فلوت رو به تابعی ارسال کردی فوقش چند بایته ؟ اما همیشه اینطوری نیست یه وقت یه کلاس میسازی که کلی داده داره و یه شی از این کلاس رو به یه تابعی ارسال میکنی خب چون حجم اون شی بالاست به صرفه نیست که با مقدار کنی بلکه رفرنس میفرستی تا مستقیم با داده ی اصلی کار کنه خیلی هم سریعتره حالا جریان های ورودی خروجی هم معمولا اینطوری هستند که حجمشون بیشتره واسه همینه که از رفرنس استفاده میکنیم .... این دقیقا سوال خود من هم بود در درس مبانی و نمیدونستم اما از یه ترم بالایی پرسیدم. شما همون ران رو بزن خیال راحت خودش دیباگ هم میکنه . |
سلام به دوستان برنامه نویس.
من چند تا سوال فنی دارم.من کتاب مهندس جعفر نژاد قمی رو خوندم البته زبان سی رو.الان دارم کتاب مربوط به سی پلاس پلاس میخونم .اول اینکه چه جوری میتونم توانایی خودم توی زبان سی بسنجم و دوم چه کتابهایی رو در مورد سی پلاس پلاس پیشنهاد میکنید که مفید باشه و بیشترجنبه تمرینی باشه؟.و در ضمن الان میتونم برنامه هایی رو در این حد بنویسم که مثلا لیست از دانشجویان رو مرتب کنه معدلشونو حساب کنه و مشروط_:2: شدنشو مشخص کنه و امکان سرچ داشته باشه و از این قبیل امکانات .با ااین حساب چقدر دیگه باید کار کنم که کاملا مسلط شم؟ |
نقل قول:
راستش من تا حالا با DOS کار نکردم. ولی فک کنم لازم باشه نه؟ باید یادش بگیرم. این سوالو منم از یه سال بالایی پرسیدم، رفت توی مبحث فایل هایی که پسوندشون h. و exe. و cpp. هست. اما متوجه ش نشدم! و چون وقت نداشت دیگه پی ش نرفتم! شما که اینجا وقت دارین!؟ بازم ممنون. |
اون سال بالاییه فک کنم که من بودم!!! ولی تا اون جایی که یادمه چیزای دیگه ای هم گفتم!
تفاوت Run و Debug اینه که: وقتی ما Debug می کنیم کامپایلر کد رو می خونه، فایلای سرآمد و سایر امکانات مورد نیاز!! رو جمع آوری می کنه و اگر برنامه خطا نداشته باشه یه سری فایل برای برنامه ایجاد می کنه از جمله فایل exe که فایل اجراییه برنامس ولی زمانی که Run رو می زنیم فقط این فایل exe رو اجرا می کنیم پس برای بار اول باید Debug کرد و بعد که برنامه ساخته شد برای امتحان کردن برنامه با داده های مختلف از Run استفاده می کنیم! یعنی در این حالت سرعت Run بیشتر از سرعت Debug خواهد بود!!! |
هاهاه اولا من امروز قضیه استاد خطاب شدن ایوب رو فهمیدم گفتم ایوب شیطون بلاست ممکنه خودش رو به عزیزان ترم پایینی استاد معرفی کرده باشه که مشخص گشت ایشون تی ای بودند
دنیا چقدر کوچیک شده مهرگان خانم دانشجوی رازی زکریا معلمک (معلم کمکی) بچه ها در مورد کلاس و اکسپشن ایوب جان تیچر اسیستنت و بنده هم هیچکاره و همه عضو پی سی سیتی .. به علی پس فردا اقای امجدیان و خانم موسوی و جمشیدی و ... هم عضو سایت مکنیم و میکوبیم برای عضویت از استادان رجب زاده و چاله چاله و .. من شاید یه نکته رو درست توضیح ندادم من هم مثل خانم مهرگان وقتی مبانی داشتم نمیدونستم چرا در جریانهای ورودی و خروجی و سربارگذاری عملگر ها از رفرنس استفاده میکنیم و چون واقعا ازارم میداد از ادریس دوست همیشه عزیزم پرسیدم که الان در خدمت سربازی احتمالا دارند برای افسر ها و نگهبان ها در باب مزایای استفاده از فری ویر سخنها میراند در مورد ران و دیباگ هم عرض کردم شما ران رو بزن خیالت راحت باشه حوصله کردی اولای این متن رو بخونین When to Use a Debugger ایوب ران همیشه اخرین exe سالم و تولید شده رو اجرا میکنه بنابراین اگر تو کد رو عوض کردی چه خطا داشته باشه چه نداشته باشه بهتر نیست یه بار دیگه به طور کامل تمام عملیات لینک و کامپیال و دیباگ و همه ی خرگ و خوله های دیگه انجام بگیره ؟ بعضی وقتا ادم یادش نیست همون ران رو میزنه برنامه قشنگ اجرا میشه غافل از اینکه کدت یه کد تغییر یافته و غلطه و یه EXE فیک و غیر واقعی رو اجرا کردی اینطوره یا من اشتباه میکنم ؟ یه نگاه به سایتهای مرجع انداختم تازه یه بدبختی دیگه که هست اینه که نوشته بودند یه وقتهایی فایل اگزه-ی ایجاد شده مثلا خارج از محیط ویژوال استدیو خودش به خوبی باز و ران و اجرا میشه اما وقتی توی محیط برنامه نویسی رانش میکنی خطا میده و نوشته بودند این طبیعیه چون پراسس منیجر ویژوال استدیو با ویندوز فرق میکنه و ممکنه که گاهی پیش بیاد . |
این تاپیکو دوس دارم، منو یاد دانشگاه میندازه، خط به خط پستاتونو میخونم
یادش بخیر استاد مردوخی و خانومش، شیرینی ازدواجشونو سر کلاس ساختمان داده خوردیم، چقدر درس مدارمنطقیرو دوست داشتم، عجب هوای برنامه نویسی کردم و .... حسودیم شد:d |
اکنون ساعت 04:02 PM برپایه ساعت جهانی (GMT - گرینویچ) +3.5 می باشد. |
Powered by vBulletin® Version 3.8.4 Copyright , Jelsoft Enterprices مدیریت توسط کورش نعلینی
استفاده از مطالب پی سی سیتی بدون ذکر منبع هم پیگرد قانونی ندارد!! (این دیگه به انصاف خودتونه !!)
(اگر مطلبی از شما در سایت ما بدون ذکر نامتان استفاده شده مارا خبر کنید تا آنرا اصلاح کنیم)