1

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'の左側はクラス/構造体/共用体タイプタイプである必要があります''unknown-type''エラーC2228:'.Open'の左側はクラス/構造体/共用体タイプタイプである必要があります'' unknown-type''エラーC2228:'.WriteString'の左側にはクラス/構造体/共用体タイプが必要ですタイプは''unknown-type''エラーC2653:'CFile':クラスまたは名前空間名ではありませんエラーC2653: 'CFile':

4

1 に答える 1

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();
}

あなたのシステムではどうなりますか?

于 2011-03-02T00:00:22.147 に答える