1.) Убедитесь, что файл, который вы пытаетесь открыть, помещен в локальную папку приложения (имя папки «LocalState») *
Используйте следующий код для поиска пути к локальной папке.
using namespace Windows::Storage;
using namespace Streams;
textBlock1->Text = ApplicationData::Current->LocalFolder->Path;
Это отобразит путь к локальной папке в текстовом блоке с именем textBlock1.
2.) Чтобы открыть имя файла "Sample.txt"
using namespace Windows::Storage;
using namespace Streams;
String^ localfolder = ApplicationData::Current->LocalFolder->Path;
std::wstring basePath(localfolder->Data());
std::wstring fileName(L"\\Sample.txt");
basePath = basePath + fileName;
const wchar_t* fullpath = basePath.c_str();
size_t size = wcslen(fullpath) * 2 + 2;
char * StartPoint = new char[size];
size_t c_size;
wcstombs_s(&c_size, StartPoint, size, fullpath, size);
FILE *fp_testFile = NULL;
errno_t err;
err = fopen_s(&fp_testFile, StartPoint, "rb");
if (err == 0)
{
OutputDebugStringW(L"opened");
}
else
{
OutputDebugStringW(L"open failed");
}
Часть преобразования строк меня действительно смущает.
Я также не знаю, как не помещать файл в локальную папку вручную.
Я попытался добавить файл в Обозреватель решений -> Активы.Но файл не включается в локальную папку после развертывания