Метод C++ отлично работает в простом проекте C++, но не в проекте Smart Device

У меня есть простая функция, которая пишет в файл.txt. Этот метод отлично работает в простом C++ проекте. Но эта же функция при создании в C++ SmartDeviceProject ничего не записывает в файл.

В чем проблема?

Пример кода приведен ниже.

STDMETHODIMP CHelloproxy::Hai(void)
{
    CTime t = CTime::GetCurrentTime();

    fstream file("D:\\k.txt", ios::app);

    file << t.GetHour() << ":" << t.GetMinute() << ":" << t.GetSecond() << "-"
         << "Add() operation started..." << endl;

    //file<<t.Format() << "-" << "Add() operation started..." << endl;

    HRESULT hr = proxy->Hai();

    file <<t.GetHour() << ":" << t.GetMinute() << ":" << t.GetSecond() 
         << "-" << "Add() operation finished..." << endl;

    file.close();

    return hr;
}

1 ответ

Решение

Пожалуйста, проверьте правильность строкового файла fstream ("D:\k.txt", ios::app); означает "Может быть, d:\ не существует в смартфоне".

Ниже приведены подробности создания объекта fstream.

http://www.cplusplus.com/reference/iostream/fstream/fstream/

"fstream (); явный fstream (const char * filename, ios_base

: openmode mode = ios_base:: in | ios_base:: out);

Создайте объект и, при необходимости, откройте файл. Создает объект класса fstream. Это подразумевает инициализацию связанного объекта filebuf и вызов конструктора его базового класса с объектом filebuf в качестве параметра.

Кроме того, когда используется вторая версия конструктора, поток связывается с физическим файлом, как если бы был выполнен вызов функции-члена, открытой с теми же параметрами.

Если конструктор не успешно открыл файл, объект все еще создается, хотя файл не связан с буфером потока, и бит сбоя потока установлен (что может быть проверено с ошибкой унаследованного члена). "

Другие вопросы по тегам