من جزوه ی جناب hoax3r رو مطالعه کردم ولی وقتی خواستم برنامه بنویسم کامپایلر ارور داد. من برای نام فایل از یک متغییر string استفاده کردم ولی وقتی خواستم با تابع open فایل رو بسازم و متغییرم رو به عنوان آرگومان به تابع ارسال کردم کامپایلر ارور داد بعد تصمیم گرفتم با استفاده از تعریف یک آرایه رشته ای این کار رو انجام بدم و به جای تابع getline از cin استفاده کنم که اینکار جواب داد. بعد کدی نوشتم که از کاربر درخواست کنه متنی رو به عنوان محتوای فایل دریافت کنه برای همین از یک متغییر string استفاده کردم و بعد از اون تابع getline رو به منظور ورود اطلاعات به متغییرم تعریف کردم و در آخر دستورات ایجاد فایل رو نوشتم و بعد getch() و سپس مقدار بازگشتی main و تمام. اما وقتی که برای وارد کردن نام فایل از آرایه استفاده کردم زمانی که می خواستم محتوای فایلم رو وارد کنم با فشردن اولین کلید از برنامه خارج می شد وقتی تابع getch() رو پاک کردم برنامه بلافاصله بعد از وارد کردن نام فایل بسته می شد و فقط یک فایل با محتوای خالی و حجم 0 کیلوبایت ایجاد می شد. چگونه می تونم این مشکل رو حل کنم؟
کدی که نوشتم :
کد:
#include <iostream>
#include <fstream>
#include <string.h>
#include <conio.h>
using namespace std;
int main ()
{
const int d=100;
char g[d]={};
string txt;
cout<<"Welcome!\nPlease Enter name of file : ";
cin>>g;
cout<<"\n\nPlease enter a text :";
getline(cin,txt);
ofstream file;
file.open(g);
file<<txt;
file.close();
getch();
return 0;
}