"D:/File/ফোল্ডার/filename.txt"
- это строковый литерал типа const char [N]
. Поэтому (wchar_t)"D:/File/ফোল্ডার/filename.txt"
приводит указатель const char *
к wchar_t
, который не делает то, что вам нужно
Кроме wchar_t path
объявляется один широкий символ, а не строка wchar_t
Вам нужно использовать префикс L
, чтобы получить строковый литерал wchar_t
, и вместо этого объявить указатель:
const wchar_t* path = L"D:/File/ফোল্ডার/filename.txt";
std::wofstream file(path); //open in constructor
std::wstring dat(L"Data to Write");
file << dat;
Также обратите внимание, что разделитель пути по умолчанию в Windows это backsla sh \
, а не sla sh /
, хотя для многих API они ведут себя одинаково.