1

FF FE を使用して UTF-16 LE ファイルを印刷すると、印刷した XML ファイルがエラー データを返します。setlocale と wchar も使用しました。誰かがこれの原因を説明できますか?

#define XML_UNICODE   "\xFF\xFE"
#define XML_HEADER    "<?xml version=\"1.0\" encoding=\"UTF-16\" standalone=\"yes\"?>"

以下は私のコードのスニペットです:

int liIndex=0;
    int liSize=0;
    char* sTxt=NULL;
    wchar_t swTxt[LEN_XML_CONTENT];
    wchar_t swUnicode[MAX_BUFF];
    const char* cTxt;
const char* cUnicode;

    cUnicode=XML_UNICODE;
    mbstowcs(swUnicode, cUnicode, MAX_BUFF);
    fwprintf(file, L"%ls", swUnicode);

    cTxt=XML_HEADER;
    liSize=strlen(cTxt);
    mbstowcs(swTxt, cTxt, MAX_BUFF);
    for(liIndex=0; liIndex<liSize; liIndex++)
    {
        fwprintf(file, L"%lc", swTxt[liIndex]);
    }
    fwprintf(file, L"\n");

notepad++を使用してチェックしたときのXMLファイルの出力、エンコーディングはすでにUCS-2 LEでしたが、出力はガベージ/エラーでした。

4

0 に答える 0