PDA

View Full Version : فراخوانی فایل text با اسم های مختلف حین اجرای برنامه



dj_dj_dj
یک شنبه 11 مرداد 1394, 20:20 عصر
سلام دوستان
همونطور که از عنوان سوال مشخصه من مثلا ده تا فایل text با نام های مختلف دارم چطور میتونم موقع اجرای برنامه مثلا بگم فلان فایل رو فراخوانی کن

مثلا با وارد کردن اسمش فایل مورد نظرم رو فراخوانی کنم با دستور شرطی نمیخوایما مثلا بگه if ورودی فلان چیز فایل فلان اجرا بشه مثلا یه رشته وارد کنم (منظورم اسم فایلمه) و اون مستقیم به ifstream فرستاده بشه
با تشکر

amirtork
یک شنبه 11 مرداد 1394, 23:46 عصر
سلام.
فکر میکنم قبلا هم سوالی با همین هدف پرسیده شده بود، فکر میکنم اگر جست و جو کنید جواب رو پیدا خواهید کرد.
با این حال، برای اینکه این کار رو انجام بدید، کافی هست آدرس فایل رو به همراه اسم اون فایل در قالب یک رشته (String) دریافت کنید و هنگام فراخوانی تابع open از کلاس ifstream برای شی ای که ساخته بودید، به جای آدرس فایل اون رشته ی خوانده شده رو قرار بدید.
همونطور هم که میدونید اگرفایل ها در محل فایل اجرایی برنامه باشند نیازی به دریافت آدرس اونها نیست و داشتن اسم به تنهایی کار رو راه میندازه.
برای مثال:

string addr;
cin>>addr;
ifstream in;
in.open(addr);