将字符串写入文件 [英] Write string to File
问题描述
大家好!
我有疑问,希望有人可以帮助我:
首先,我有一个CPerson类,定义为:
CPerson类:
公共CObject
{
私人:
CString m_strNamePer;
CString m_strImagePer;
公众:
//其他代码...
CString GetName()
{
返回m_strNamePer;
}
CString GetImage()
{
返回m_strImagePer;
}
};
然后,我想通过write方法写入文件:
char * pFileName ="Person.dat";
ofstream fout(pFileName,ios :: binary);
if(!fout)
{
MessageBox(_T(无法打开文件"),_ T(打开文件"),MB_OK | MB_ICONSTOP);
返回;
}
CPerson * m_data;
//获取指向指针m_data的数据的其他代码,可以.
CString strName = m_data-> GetName();
fout.write(strName,50);
CString strImage = m_data-> GetImage();
fout.write(strImage,100);
}
fout.close();
构建时,有两个相同的错误:
错误C2664:``std :: basic_ostream< _Elem,_Traits> :: write'':无法将参数1从``CString''转换为``const char *''
我是初学者.请帮忙!
every body!
I have question, hoping someone can help me:
First, i have a CPerson class, define that:
class CPerson :
public CObject
{
private:
CString m_strNamePer;
CString m_strImagePer;
public:
//Other codes...
CString GetName()
{
return m_strNamePer;
}
CString GetImage()
{
return m_strImagePer;
}
};
Then, I want to write to a file by write method:
char* pFileName = "Person.dat";
ofstream fout(pFileName, ios::binary);
if(!fout)
{
MessageBox(_T("Can''t open the file"), _T("Open file"), MB_OK|MB_ICONSTOP);
return ;
}
CPerson* m_data;
//Other code to get data to pointer m_data, this code is Okay.
CString strName = m_data->GetName();
fout.write(strName, 50);
CString strImage = m_data->GetImage();
fout.write(strImage, 100);
}
fout.close();
When i build, there are two errors, which are same:
error C2664: ''std::basic_ostream<_Elem,_Traits>::write'' : cannot convert parameter 1 from ''CString'' to ''const char *''
I am beginner. Please help!
推荐答案
使用GetBuffer()方法从CString中获取char *.不要忘了之后再调用ReleaseBuffer.
Use the GetBuffer() method to get a char * from a CString. Don''t forget to call ReleaseBuffer afterwards.
这篇关于将字符串写入文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!