我有一个简单的函数,它写入一个 .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/