C++ 方法在简单的 C++ 项目中运行良好,但在智能设备项目中运行不佳

标签 c++ visual-studio visual-c++ atl 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;
}

最佳答案

请检查线路的有效性 fstream 文件("D:\k.txt", ios::app); 意思是“可能是 d:\不存在于智能手机中”。

以下是fstream对象创建的细节

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

" 流 ( );显式 fstream (const char * filename, ios_base

:openmode 模式 = ios_base::in | ios_base::out );

构造对象并可选地打开文件 构造 fstream 类的对象。这意味着初始化关联的 filebuf 对象,并以 filebuf 对象作为参数调用其基类的构造函数。

此外,当使用第二个构造函数版本时,流与物理文件相关联,就好像调用了具有相同参数的成员函数 open 一样。

如果构造函数没有成功打开文件,虽然没有文件关联到流缓冲区并且设置了流的失败位,但对象仍然被创建(可以用继承成员失败检查). "

关于C++ 方法在简单的 C++ 项目中运行良好,但在智能设备项目中运行不佳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9559807/

相关文章:

c++如何从图像中获取像素坐标?

c++ - 在 C++ 中意外创建临时对象的方法?

c++ - DirectX 项目模板在 Visual Studio 2017 中不可见

c++ - 如何在 Visual Studio 中使用 C++11 线程

c++ - OLE 入门 - 什么是好的学习项目选择?

c++ - 尝试在 OpenGL/SFML 中实现鼠标外观 "camera"

c++ - MPI 发送/接收错误

javascript - Visual Studio 2015 扩展将 JavaScript 文件中的字符串 HTML 处理为 HTML 编辑

visual-studio - 如何使项目模板在 Visual Studio 2017 中工作

java - c++ static 关键字对大括号有什么作用?