تبلیغات :
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




صفحه 1 از 2 12 آخرآخر
نمايش نتايج 1 به 10 از 17

نام تاپيک: چند تا سوال از سی دارم

  1. #1
    اگه نباشه جاش خالی می مونه havva's Avatar
    تاريخ عضويت
    Aug 2006
    پست ها
    302

    پيش فرض چند تا سوال از سی دارم

    سوالاتب ساده از c
    1- می بینید گه گاهی در تابع main توی اون پارانتز ها می نویسیم متغیر ها رو مثل همین
    main(int argc, char *argv[])
    می خواستم ببنم این درسته که مثلا برای اینکه فایل برنامه ی ما بعدش مثلا برای اجراش اسم فایل مورد نظر رو می دیم یعنی منظورم اینه myprog.exe file.txt منظورم اون قسمت file.txt است بابا یک کلوم چرا شما و خودم رو گیج کنم هزار بار این قسمت کتاب رو خوندم در این مورد ولی هیچی نفهمیدم می خوام برام یاد بدین که چطور یه برنامه سازم که اول اسم برنامه و بعد اسم فایل ورودیش رو بدم و اگه فقط اسم برنامه رو دادم راهنمای استفاده از اون رو بده یعنی فقط اموزش این قسمتش رو می خوام که اگه فقط فایل اجرایی برنامه ام رو تنها زدم بیاد نحوهی کار کردش رو در اعلان داس بنویسه و در بعد بشه بهش فایل داد ممنون اگه توضیح بدین می دونم خدم هم سوالم رو درست نپرسیدم چون خودم چیزی نمی دونم ازش تا سوالم رو واضح تر بپرسم خیلی هم مبتدی نیستم تا حدود هایی با سی اشنا هستم ولی این ها رو نمی دونم

    2- می شه در مورد این نوشته برام توضیح بدین
    char xlat[] = {
    0x64, 0x73, 0x66, 0x64, 0x3b, 0x6b, 0x66, 0x6f,
    0x41, 0x2c, 0x2e, 0x69, 0x79, 0x65, 0x77, 0x72,
    0x6b, 0x6c, 0x64, 0x4a, 0x4b, 0x44, 0x48, 0x53,
    0x55, 0x42
    };


    می دونم سوالام خیلی اعصاب خراب کنن ولی ببخشید دیگه جوانمو جویای نام و علم

  2. #2
    در آغاز فعالیت arash_j13's Avatar
    تاريخ عضويت
    Aug 2006
    محل سكونت
    مشهد
    پست ها
    18

    پيش فرض

    سوال اولتون
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    توی سوال دوم هم یه آرایه از کارکتر ها تعریف شده که بهش مقدار اولیه اده شده ایم مقدار اولیه به صورت اعداد مبنای 16 هست

  3. #3
    اگه نباشه جاش خالی می مونه havva's Avatar
    تاريخ عضويت
    Aug 2006
    پست ها
    302

    پيش فرض

    ;کارکتر تعریف شده چیه ؟؟؟؟

    در مورد سوال یک خودم سورس رو می دونم دارم می خوام توضیح کوچولو بدین هر کدوم چی می کنن در واقع می خوام
    کاکرد برنامه فقط اون قسمتش که مربوط به سوال منه رو شرح بدید ممنون

  4. #4
    در آغاز فعالیت arash_j13's Avatar
    تاريخ عضويت
    Aug 2006
    محل سكونت
    مشهد
    پست ها
    18

    پيش فرض

    ;کارکتر تعریف شده چیه ؟؟؟؟
    منظورتون رو متوجه نشدم

    کار اون کد هم خیلی ساده است توی پارمتر اول تابع main تعداد پامتر های خط فرمان وجود داره پارمتر اول(صفرم) همیشه نام و آدرس فایل هست که توی خط فرمان نوشته شده پس همیشه لا اقل یک پارامتر وجود داره حالا بررسی می کنیم اگه این تعداد یک بود یعنی هیچ پارامتر دیگه ای وارد نشده و نام برنامه خالی نوشته شده پس راهنما رو نشون می دیم در غیر این صورت بقیه برنامه اجرا می شه

  5. #5
    اگه نباشه جاش خالی می مونه havva's Avatar
    تاريخ عضويت
    Aug 2006
    پست ها
    302

    پيش فرض

    اقا نفهمیدم نفهمیدم نفهمیدم
    تو کد زیر رروببین بعد به سوالام تو رو خدا ساده و یک کم مفصل شرح بده شرمندتم

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    به کد بالا نگاه کن شماره گذاشتم 3 تا از اون 3 تا مشکل دارم ببین
    1- اون int argv نماینده ی چیه اون بالا ؟؟؟؟؟
    اون طور که معلومه char * argc[] برای اسم فایل مورد نظره!!
    2- Argv چه مقداری هایی رو می تونه به خودش بگیره که اون جا نوشته کوچکتر از 2 بود کمکی رو نشون بده در واقعا چطوری می شه که argv یه مقدار به خودش می گیره که 1 است یا غیره است
    3- این 3 رو اصلا نفهمیدم چیه !!!!! چرا نوشته argc[1] مگه اون از ما اسم فایل رو نمی خواد این 1 دیگه چیه توی اونه ؟؟؟

  6. #6
    حـــــرفـه ای
    تاريخ عضويت
    Aug 2006
    پست ها
    793

    پيش فرض

    دوباره سلام.
    فکر میکنم با یک مثال مشکل شما حل میشه. این برنامه رو بنویسید و کامپایل کنید. و فایل exe ی ایجاد شده رو در ریشه ی یکی از driveهاتون قرار بدید. مثلا در C.
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    حالا این طور برنامتون رو تست کنید.
    از منوی start گزینه ی Run رو انتخاب کنید و این دستور رو تایپ کنید : cmd
    حالا باید command.com باز شده باشه.
    در خط فرمان این رو تایپ کنید.
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    خروجی برنامه به شکل زیر هست:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    حالا این دستور رو تایپ کنید:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    خروجی برنامه به این شکل در میآد:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    به طور ساده به ازای هر Command ی که در ادامه ی test.exe مینویسید مقدار argv یکی زیاد میشه مثلا:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    باعث میشه مقدار argv برابر 4 بشه.
    *argc[] هم مقدار این Command ها رو در خودش ذخیره میکنه. *argc[] یک آرایه دو بعدی هست.
    مثلا اگه شما این دستور رو وارد کنید
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    مقدار argc[1]==test1 و argc[2] ==test2 قرار میگیره.در اینجا مقداره argv هم برابر 3 هست.

    در مورد سئوال سوم شما بايد بگم اولين Commandی که برنامتون میگیره اسم یک فایل هست که اگه این فایل وجود نداشته باشه مقدار برگشتی تایع fopen = null ميشه.برنامه سعي ميكنه با اين تابع يك file رو در حالت read only باز كنه. طبق چيزهايي كه صحبتش رو كرديم مقدار [1]argc اسم file مورد نظر شما هست در ضمن مقدار argv=2 هست.
    اميدوارم كمكتون كرده باشه.
    Last edited by someone; 05-09-2006 at 19:39.

  7. #7
    اگه نباشه جاش خالی می مونه havva's Avatar
    تاريخ عضويت
    Aug 2006
    پست ها
    302

    پيش فرض

    به خدا شرمنده خیلی قشنگ توضیح دادید نمی شه روش حرف زد ادم با ضریب هوشی زیر متوسط هم اینو می فهمه

    یکی دکمه ی تشکر بذاره تا من از ایشون تشکر کنم

    خیلی مخلصیم ممنون

  8. #8
    اگه نباشه جاش خالی می مونه havva's Avatar
    تاريخ عضويت
    Aug 2006
    پست ها
    302

    پيش فرض

    some one جان برام سوال بازم پیش اومد

    اولش اینکه من نتوستم کدت و کامپایل کنم اینو نوشت
    fatal error C1189: #error : "eh.h is only for C++!"

    بعدش در مورد *argc[] این هواره دوبعدیه؟؟ ایا برای چیز هایی که باید سه ورودی بگیرن چی ؟؟؟

  9. #9
    حـــــرفـه ای
    تاريخ عضويت
    Aug 2006
    پست ها
    793

    پيش فرض

    دوباره سلام.
    مفهوم يه آرايه دو بعدي اين نيست كه فقط ميتونه دو تا ورودي داشته باشه.
    اين مثال رو نگاه كنيد:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    حالا آرايه ما اين مقادير رو در خودش داره:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    اميدوارم متوجه شده باشيد.
    در ضمن فكر كنم چون داريد از iostream و namespace اين header استفاده ميكنيد اين مشكل براتون پيش اومده احتمالا كامپايلر شما كامپايلر c هست نه كامپايلر ++c
    اين تغييرات رو در برنامه بديد:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    Last edited by someone; 06-09-2006 at 20:23.

  10. #10
    اگه نباشه جاش خالی می مونه havva's Avatar
    تاريخ عضويت
    Aug 2006
    پست ها
    302

    پيش فرض

    کامپایلرم ویژال استادیو c++ است
    مفهموم ارایه دوبعدی چیه یعنی هر ارایه ای که بیش از یه ارگومان بگیره اخه اینی که من خونده بود در کتاب دوبعدی این بود
    char array [10][10] یعنی دو تا [] داشت

    می بخشی من در کتاب خودنه بود وقتی اشاره گر به هر چی تعریف می کنم اگه اول بهش مقدار ندیدم منظورم اینجا char*argc[] است باید با تابع malloc() بهش فضا بدیم منظورش با چیزی که ما اینجا کردیم اخه متفاوته من اشنباه فهمیدم ایا منظورش رو ؟؟

صفحه 1 از 2 12 آخرآخر

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •