CStdioFile Undeclared Identifier

时间:2011-03-01 23:10:51

标签: c++ mfc wofstream

使用CStdioFile类型时,我无法编译代码。我已经包含了afx.h头文件,但我仍然收到错误。我要做的是写一个包含整个xml文档的cstring文件。这个cstring在其中包含注释,但是当我使用其他对象(如wofstream)将其写入文件时,这些注释因某些原因被条带化。这就是为什么我现在尝试使用CStdioFile将其写入文件。如果有人可以帮我解决为什么我无法使用CStdioFile编译我的代码,或者以任何其他方式将包含xml注释的cstring写入文件,请告诉我!下面是我使用CStdioFile的代码:

CStdioFile xmlFile;
xmlFile.Open( "c:\\test.txt", CFile::modeCreate | CFile::modeWrite | CFile::typeText );
xmlFile.WriteString( m_sData );
xmlFile.Close();

我的错误: 错误C2065:'CStdioFile':未声明的标识符 错误C2065:'modeCreate':未声明的标识符 错误C2065:'modeWrite':未声明的标识符 错误C2065:'typeText':未声明的标识符 错误C2065:'xmlFile':未声明的标识符 错误C2146:语法错误:缺少';'在标识符'xmlFile'之前 错误C2228:'。Close'的左边必须有class / struct / union类型是''unknown-type'' 错误C2228:'。Open'左边必须有class / struct / union类型是''unknown-type'' 错误C2228:'。WriteString'的左边必须有class / struct / union类型是''unknown-type'' 错误C2653:'CFile':不是类或命名空间名称 错误C2653:'CFile':不是类或命名空间名称 错误C2653:'CFile':不是类或命名空间名称 错误C3861:'xmlFile':找不到标识符,即使是依赖于参数的查找 错误C3861:'xmlFile':找不到标识符,即使是依赖于参数的查找 错误C3861:'xmlFile':找不到标识符,即使是依赖于参数的查找

1 个答案:

答案 0 :(得分:1)

你真的包括<afx.h>吗?它是正确的axf.h(你必须在你的系统上有一些非常奇怪的事情,因为它不是)?您使用的是什么编译器版本?

这个小程序可以编译并运行VS2010和VS2008:

#include <afx.h>
#include <tchar.h>

int main()
{
    CStdioFile xmlFile;
    LPCTSTR m_sData = _T("Testing 123\n");

    xmlFile.Open( _T("c:\\temp\\test.txt"), CFile::modeCreate | CFile::modeWrite | CFile::typeText );
    xmlFile.WriteString( m_sData );
    xmlFile.Close();
}

你的系统会发生什么?