关于VC++字符串的问题

来源:百度知道 编辑:UC知道 时间:2024/05/10 06:25:51
在使用ADO数据库是,要输入 #import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF","adoEOF")
之后包含头文件<string>还是<string.h>?两种好象都没有用.在使用数据库是怎样才能使用C++标准字符串?
如果使用MFC的CSTRING,则如何输入字符串的值?
比如: CString str;如何像cin>>一样给str赋值?
赐教了!!
请详细一点

CFile file("/*file name*/", CFile::modeReadWrite);
CArchive ar(&file, CArchive::load);

然后保证你的类是由CObject派生,修改里面的Serialize函数,在类中加入 DECLARE_SERIAL(/*CLASS NAME*/)
在它的实现部分加入
IMPLEMENT_SERIAL(/*CLASS NAME*/, CObject, schema number/*这个默认设置为1就可以了*/);

比如我们要记录一个输出标语的程序,那么它的代码(输入部分)如下:

class MyString: public CObject //这是必须的!对序列化操作必须由CObject类派生
{
DECLARE_SERIAL(MyString);
CString str;
public:
MyString(){} //必须有一个默认构造函数!!
void Serialize (CArchive &ar);
};

实现部分:
。。。
IMPLEMENT_SERIAL(MyString, CObject, 1) //这里的最后一个参数叫做schema number实际就是你程序的版本号,这是为了防止读入数据与原数据版本不符(比如说,你增加了一个变量)

void Serialize(CArchive &ar)
{
CObject::Serialize (ar);
if (!ar.IsStoring())//如果不是存储:
ar>>str;
else
ar<<str;
}

try{
CFile file("e://read.txt", CFile::modeRead);//定义一个file类型的类,注意,这里的文件路径一定要像写网址那样!这是C语言的特点。
CArchive ar(