روش های جاگزین کردن دستورات مشابه خروجی و ورودی به جای دستوراتی مثل printf و یا scanf
سلام.خسته نباشید.همون طور که می دونید در زبان سی printf ویا scanf داریم و در سی پلاس پلاس cin و cout داریم.می خواستم بدونم ایا با خود زبان c میشه توابعی رو برای دستورات ورودی و خروجی به جای printf و وscanf ویا دستورات مشابه نوشت و کاری کرد که بدون استفاده از این دستورات ورودی و خروجی معمول در زبان c با استفاده از تابعی که خودمون نوشتیم مقدار متغیری رو وارد کنیم و یا در صفحه نمایشگر چاپ کنیم؟؟ اگر می شود ایا باید با استفاده از دستورات اسمبلی که در زبان c می توان نوشت این کار رو کرد؟؟:متفکر:
نقل قول: روش های جاگزین کردن دستورات مشابه خروجی و ورودی به جای دستوراتی مثل printf و یا scanf
این کاریه که خیلی ها دوست دارن انجام بدن -- منظورم از نو نویسی تابعیه که از قبل در کتابخانه استاندارد C وجود داره -- مثل همون دو تابعی که شما مثال زدید.
همونطور که می دونید، ساختن یک تابع محدود به متغیرها نیست -- بلکه میشه از توابع دیگر برای ساخت توابع استفاده بشه (Function call).
بستگی به نوع تابع داره: تابع بزرگ -- تابع کوچک.
توابعی مثل printf و scanf، به منظور انجام وظیفه، باید به کِرنل سیستم عامل درخواستی رو ارسال کنن (سیستم رو صدا بزنن - system call) تا درخواستی که ما از اونها کردیم (که بخونن یا بنویسن) رو به انجام برسونن.
بنابراین scanf درواقع به منظور خوندن و نوشتن (read - write) یک کاراکتر یا عدد صحیح یا اعشاری، نیاز به برنامه ریزی شدن در زبان اسمبلی داره (که البته نحوه برنامه ریزی شدن در زبان اسمبلی از ماشین به ماشین متفاوته).
هردو تابع باید روند خوندن و نوشتن رو به انجام برسونن.
من کدهای این دو تابع رو ندیدم -- اما همینقدر می دونم که این دو تابع عمل سطح پایین رو انجام میدن.
البته من نمیگم که کُل کدهای این دو تابع در زبان اسمبلی نوشته شدن -- اما نیازه که از دستور read و write استفاده بشه -- درواقع باید سیستم رو صدا بزنن.
توضیحات من بسیار مختصر و ناقصه. برای اینکه بهتر متوجه بشی، به بچه های اسمبلی در این انجمن رجوع کن + مطالبی رو درباره نوشتن توابع این چنینی مطالعه کن + یادگیری زبان اسمبلی (معماری های Intel و AMD) این روزها برای یک برنامه نویس بسیار مفید و لازمه.
موفق باشی.
نقل قول: روش های جاگزین کردن دستورات مشابه خروجی و ورودی به جای دستوراتی مثل printf و یا scanf
در ویندوز میتونین کنسول رو به عنوان یک فایل باز کنین و WriteFile و ReadFile انجام بدین