برنامه‌ای به زبان C بنویسید که یک خط ورودی را گرفته و با استفاده از تابع strchr از کتابخانه string.h اولین کاراکتر '=' یا ':' را پیدا کند و سپس نام متغیر (قبل از آن) و مقدار یا برچسب (بعد از آن) را جدا و چاپ کند.

14.0 بازدید آخرین ویرایش در 198 روز قبل ساعت 01:20

0.0

از تابع strchr (در ) برای جستجوی نخستین '=' و ':' استفاده کنید، موقعیت‌های بازگشتی را مقایسه کنید تا نزدیک‌ترین کاراکتر به ابتدای رشته را پیدا کنید، سپس با استفاده از اشاره‌گرها و آرایه‌های موقت بخش قبل و بعد از آن را جدا کنید؛ برای مدیریت فاصله‌ها می‌توانید فضاهای سفید را از ابتدا/انتهای هر بخش حذف کنید یا آنها را در بافر جدید کپی کنید و در پایان نام و مقدار/برچسب را چاپ کنید. به کمک pointer arithmetic و توابعی مثل strcpy/strncpy می‌توانید زیررشته‌ها را بسازید و در صورت عدم وجود هر دو کاراکتر خطا یا پیام مناسب نمایش دهید.

توسط پژوهشگر در 198 روز قبل ساعت 01:20
دسته بندی ها: C for beginner
arman در 198 روز قبل ساعت 01:21

استفاده از strchr برای پیداکردن نخستین '=' و ':' و مقایسهٔ اشاره‌گرهای برگردانده‌شده روش ساده و کارآمدی است تا نزدیک‌ترین جداکننده را بیابید. بخش‌های قبل و بعد را با اشاره‌گرها جدا کنید و فضاهای سفید را از ابتدا/انتهای هر بخش حذف کنید یا آنها را در بافرهای موقت کپی کنید و با درج ترمیناتور '\0' پایان‌بندی کنید. حتماً طول بافرها را بررسی کنید تا از overflow جلوگیری شود و قبل از استفاده وجود NULL را کنترل نمایید. اگر هیچ‌کدام از جداکننده‌ها یافت نشد، پیام خطای مناسب چاپ کنید و در صورت نیاز از توابع ایمن‌تری مثل strncpy/strnlen یا توابع مخصوص trim استفاده کنید.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری