"#include \n#include \n#include \n\nbool isUTF16LE(const char* filename) {\n std::ifstream file(filename, std::ios::binary);\n if (!file.is_open()) {\n std::cout << "无法打开文件!" << std::endl;\n return false;\n }\n\n char bom[2];\n file.read(bom, 2);\n file.close();\n\n return (bom[0] == '\xFF' && bom[1] == '\xFE');\n}\n\nbool isUTF16BE(const char* filename) {\n std::ifstream file(filename, std::ios::binary);\n if (!file.is_open()) {\n std::cout << "无法打开文件!" << std::endl;\n return false;\n }\n\n char bom[2];\n file.read(bom, 2);\n file.close();\n\n return (bom[0] == '\xFE' && bom[1] == '\xFF');\n}\n\nint main() {\n const char* filename = "test.txt";\n if (isUTF16LE(filename)) {\n std::cout << "文件 " << filename << " 是 UTF16LE 编码。" << std::endl;\n } else if (isUTF16BE(filename)) {\n std::cout << "文件 " << filename << " 是 UTF16BE 编码。" << std::endl;\n } else {\n std::cout << "文件 " << filename << " 的编码未知。" << std::endl;\n }\n\n return 0;\n}\n"请注意,上述代码假设文件中包含BOM(字节顺序标记)。如果文件没有BOM,则无法准确确定其编码方式。