2

関数を作成し、それを介してポインターを渡しますが、このためにアプリケーション全体で FILE ポインターを複数回使用しようとしています。基本的に私はこのビットのコードを持っています

     FILE* fp;
    _wfopen_s (&fp, L"ftest.txt", L"r");
    _setmode (_fileno(fp), _O_U8TEXT);
    wifstream file(fp);

これが繰り返され、代わりに次のようなものが必要になりました。

wifstream file(SetFilePointer(L"ftest.txt",L"r"));
....
wofstream output(SetFilePointer(L"flist.txt",L"w"));

および関数の場合:

FILE* SetFilePointer(const wchar_t* filePath, const wchar_t * openMode)
{
    shared_ptr<FILE> fp = make_shared<FILE>();
    _wfopen_s (fp.get(), L"ftest.txt", L"r");
    _setmode (_fileno(fp.get()), _O_U8TEXT);
    return fp.get();
}

これは単に機能しません。&*fp代わりに使用してみましfp.get()たが、まだ運がありません。

4

1 に答える 1