PDA

View Full Version : استفاده از دستورات داس در سی پلاس پلاس و سوالی در رابطهgets



saeid99
شنبه 20 مهر 1387, 10:47 صبح
1.چطور میشه که از دستورات داس رو در سی پلاس پلاس استفاده کنیم اگه با یه مثال ساده توضیح بدید ممنون میشم......:لبخندساده:


2.چطوری وقتی با gets در سی پلاس پلاس یه رشته رو دریافت میکنم با دکمه شیفت راست به خط بعدی برم یعنی به خط بعدی برم و بازهم ادامه رشته رو وارد کنم؟؟!:لبخندساده:
....
اگه میشه ساده بگید ممنون میشم البته با مثال..

Nima_NF
شنبه 20 مهر 1387, 13:10 عصر
1- اگر منظورتان واقعا دستورات قدیمی سیستم عامل داس هست، که باید از کامپایلرهای قدیمی که کتابخانه های داس را دارند استفاده کنید مثل TurboC.

اما اگر منظورتان بسیاری از توابع کنسول (محیط سیاه رنگ) هست که در سایر سیستم عامل ها هم وجود دارد، به راحتی در اسناد کامپایلر جستجو کنید و نام کتابخانه را include کنید و از آن ها استفاده کنید.

2- به جای استفاده از gets می توانید از متدهای cin در ++C استفاده کنید همانند cin.get که در مثال زیر کل ورودی تا 15 کارکتر یا رسیدن به # در str ذخیره می شود :



#include <conio.h>
#include <iostream>

using namespace std;

int main ()
{
char str[20];

cin.get( &str[0], 15, '#' );

cout << str << endl;

getch();
return 0;
}

saeid99
شنبه 20 مهر 1387, 21:50 عصر
از پاسختون ممنونم فقط سوالی برام پیش اومده اینم اینکه هدفم از دستورات داس این بود که می خواستم به محض اینکه برنامه ای که نوشتم اجرا کردم فارسی ساز سپند هم اجرا بشه تا بتونم از فارسی نوشتن بهره ببرم آیا جواب میده؟چطور؟بعدش تعریف رشته های پویا چطور هست؟؟:خجالت:

Nima_NF
یک شنبه 21 مهر 1387, 00:46 صبح
در مورد فارسی ساز سپند شاید دوستان دیگر بتوانند راهنمایی بیشتری کنند ولی فکر نمی کنم در محیط کنسول بتوان استفاده کرد...

رشته پویا به این شکل در ++C :



char *str;

str = new char[50]; // 50 characters

emad_67
یک شنبه 21 مهر 1387, 09:40 صبح
از پاسختون ممنونم فقط سوالی برام پیش اومده اینم اینکه هدفم از دستورات داس این بود که می خواستم به محض اینکه برنامه ای که نوشتم اجرا کردم فارسی ساز سپند هم اجرا بشه تا بتونم از فارسی نوشتن بهره ببرم آیا جواب میده؟اگر برنامت تحت داس باشه میتونی با دستور system در stdlib.h اونو باز کنی اما برنامه های تحت ویندوز رو نمیدونم.


system("c:\a.exe");
که میاد فایل a.exe رو که در درایو c هست باز می کنه، البته در پنجره جدید باز نمیشه و در همون پنجره برنامه خودت در جایی که این خط رو بنویسی، برنامه فراخوانی شده نشون داده میشه.
الان من کامپایلر ندارم. در مورد تحت ویندوز رو خودت تست کن ببین چی میشه.
در مورد system هم اینجا ها رو میتونی ببینی اگه آشنایی نداری باهاش:
http://barnamenevis.org/forum/showthread.php?t=119161&highlight=system
http://barnamenevis.org/forum/showthread.php?t=111573&highlight=system

saeid99
دوشنبه 22 مهر 1387, 17:30 عصر
ممنونم از پاسخ هاتون از مدیریت بخش انجمن کمال تشکر را دارم...
راستش من در مورد سی پلاس پلاس سوالات زیادی در ذهنم هست که اگر در انجمن جست و جو کردم و پیدا نکردم میخوام همین جا بپرسم که تاپیک های اضافه ایجاد نشه..اگه اشکالی نداره و خلاف قوانین انجمن نیست ؟؟
..............................................
چطور میشه اون نیم خط(_) چشمک زن رو هنگام ورود داده توسط تابع cin.get (دریافت یک رشته)بتونیم به کمک کلیدهای جهتی بالا و پایین حرکت بدیم؟؟
................................................
بعد چطور میشه که برنامه بررسی کنه کلید مورد نظرم فشرده شده یا نه ؟و اگر فشرده شده دستورات خاصی رو اجرا کنه البته در هر جای برنامه که کلید فشرده شد بیاد و دستورات مورد نظر رو اجرا کنه؟
........................................
چطور میشه که یه فایل تکست رو ویرایش کرد که اول روی صفحه نمایش نشون بده بعد ویرایش کنیم بعدشم تغییرات ذخیره بشه؟
.................................

emad_67
دوشنبه 22 مهر 1387, 22:08 عصر
سلام
سوالاتت رو در تاپیک های مختلف بپرس. هر سوال در یک تاپیک.

saeid99
سه شنبه 23 مهر 1387, 13:51 عصر
سلام
سوالاتت رو در تاپیک های مختلف بپرس. هر سوال در یک تاپیک.

ممنون از راهنمایی تون..به روی چشم:لبخندساده: