یک سوال در باره GCC
|
2008-08-01, 04:51 PM,
ارسال : #1
|
|||
|
|||
یک سوال در باره GCC
من تازه با c++ آشنا شدم. و یه مشکلی دارم. وقتی دستور system("clear") رو در لینوکس کامپایل می کنم کار میکنه ولی توی ویندوز با mingw خطا میگیره
اشکال کار کجاست ؟ |
|||
2008-08-01, 07:15 PM,
ارسال : #2
|
|||
|
|||
پاسخ: یک سوال در باره GCC
دوست عزیز تا جایی که من می دونم دستور system برای اجرای دستورات خط فرمان می باشد شاید توی ویندوز دستور clear وجود نداشته باشد از دستور cls استفاده کن ببین چی میشه
|
|||
2008-08-01, 10:52 PM,
ارسال : #3
|
|||
|
|||
پاسخ: یک سوال در باره GCC
به نظر دوستان اگر بخواهم برنامه ای بنویسم که ار دستورات کنسول استفاده کنم و پورتابل باشه باید چی کار کنم ؟ با توجه به این که conio.h در لینوکس کار نمیکنه
|
|||
2008-08-02, 12:42 AM,
ارسال : #4
|
|||
|
|||
پاسخ: یک سوال در باره GCC
اگه نیازتون توی conio.h فقط همین cls هست، راحتترین راه اینه از همین تابع system استفاده کنید و که چک کنید پلتفرم رو (که مثلا اگه win32 بود رشتهٔ cls رو به آرگومانش بده، اگه posix سا همون unix بود رشتهٔ clear رو به آرگومانش بده(یا اینکه یکی از این دو تا دستور رو توی بلوک try اجرا کنه اگه موفقیت آمیز نبود و پیدا نکرد اون یکی رو اجرا کنه).
اما اگه به توابع دیگهٔ conio.h هم نیاز دارید(مثل gotoxy برای جابجایی مکاننما به هرجایی)، در اینصورت پیشنهاد میکنم که از ncurses.h استفاده کنید، البته باید یادش بگیرید چون زیاد شبیه conio.h نیست، اگرچه کار ارون رو هم انجام میده بلکه فکر میکنم امکاناتش خیلی بیشتر باشه، اما نحوهٔ استفادش فرق داره. توی گوگل میتونید آموزشهایی برای ncurses پیدا کنید مثل این. اگه خواستید یه مثال ساده رو هم که خودم نوشتم به C نوشتم اینجا میذارم(یه مثال کاملتر هم با پایتون نوشتم آخه توی پایتون هم میشه از طریق ماژول curses ازش استفاده کرد) در ضمن شما دو تا مسئله رو با هم مطرح کردید. یکی جایگزین برای توابع conio.h یکی اجرای دستورات خط فرمان. اگه میخواید دستورات خط فرمان رو اجرا کنید، بستگی داره که چه کاری بخواید انجام بدید. ممکنه نیاز پیدا کنید که پلتفرم رو چک کنید(مثل همین clear کردن) و ببینید که مفسر خط فرمان چیه(مثلاً dos هست یا bash یا sh) البته bash با sh هم سازگاره و اگه از sh استفاده کنید تنوی هر یونیکسی کار میکنه. اگه دیدید ایجاد سازگاری همزمان بین sh و dos سخته(یا dos نمیتونه اون کار رو انجام بده)، میتونید برای نسخهٔ ویندوزی برنامه، یه نسخه از شل sh یا bash برای ویندوز رو ضمیمه کنید(یا بعنوان پیشنیاز تعریف کنید). ولی برای چند تا دستور ساده(مثل همین clear) فکر نکنم نبازی باشه، بهتره همون پلتفرم رو چک کنید(که یونیکس هست یا ویندوز). راستی نمیدونم چرا Portable رو پرتابل تلفظ میکنن؟ StarCalendar | Blog | 1+ | OS |
|||
|