使用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':找不到标识符,即使是依赖于参数的查找
答案 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();
}
你的系统会发生什么?