PDA

View Full Version : سوال: يه سوال در مورد كار با file



Sir.Achilles
چهارشنبه 04 آذر 1388, 15:42 عصر
با سلام خدمت همه ي دوستان . سوالم اينه كه ميخوام توي برنامم اطلاعات كاربر رو از روي فايل بخونم با اين ويژگي كه كاربر بر اساس متدي كه من بهش ميگم اطلاعاتش رو توي يك فيل txt ذخيره ميكنه ، بعد من توي برنامه ازش اسم فايلش رو بگيرم و بعد اطلاعات رو از روي فايل بخونم .

براي اين كار بايد از كلاس ifstream استفاده كنم و در اين مورد مشكلي نيست ، اما مشكل اينجاست كه من ميخوام اسم فايل رو از كاربر بگيرم ولي با استفاده از ifstream اسم فايلي كه قراره open بشه (مثلا ifstream clientfile("filename.txt" , ios::in); رو برنامه نويس تعيين ميكنه در صورتي كه من ميخوام از كاربر بگيرم . در ضمن همون طور كه ميدونيد در كد بالا به جاي filename نميشه مثلا از يه اسمي كه از كاربر بگيرمش استفاده كرد .

hamidsolat
چهارشنبه 04 آذر 1388, 19:37 عصر
یه std::string تعریف کن و برای مشخص کردن نام فایل متد C_str را فراخوانی کن مثلا:
ifstream clientfile(filename.C_str() , ios::in)

Sir.Achilles
پنج شنبه 05 آذر 1388, 18:14 عصر
یه std::string تعریف کن و برای مشخص کردن نام فایل متد C_str را فراخوانی کن مثلا:
ifstream clientfile(filename.C_str() , ios::in)
آقا ممنون از راهنماييتون ولي من نفهميدم دقيقا منظورتون چيه . std::string رو در برنامه نوشتم بعد ifstream clientfile("filename.txt" , ios::)in رو به كدي كه شما گذاشتيد يعني به
( ifstream clientfile(filename.C_str() , ios::in تغيير دادم ولي دقيقا در همين خط compiler ارور ميده : 'struct std::string' has no member named 'C_str' . منظور شما هم همين بود يا من اشتباه كردم؟

a.gh.n
پنج شنبه 05 آذر 1388, 21:35 عصر
آقا ممنون از راهنماييتون ولي من نفهميدم دقيقا منظورتون چيه . std::string رو در برنامه نوشتم بعد ifstream clientfile("filename.txt" , ios::)in رو به كدي كه شما گذاشتيد يعني به
( ifstream clientfile(filename.C_str() , ios::in تغيير دادم ولي دقيقا در همين خط compiler ارور ميده : 'struct std::string' has no member named 'C_str' . منظور شما هم همين بود يا من اشتباه كردم؟


c_str() //true

Sir.Achilles
پنج شنبه 05 آذر 1388, 22:11 عصر
c_str() //true

آقا خيلي ممنون هم از شما و هم از آقا hamid . من دستور رو با c بزرگ مي نوشتم و به همين خاطر error ميداد . :قهقهه: