int main() {
_setmode(_fileno(stdout), _O_U8TEXT); // 设置标准输出为UTF-8
std::setlocale(LC_ALL, "en_US.utf8");
std::setlocale(LC_ALL, "en_US.utf8");
std::wcout.imbue(std::locale("en_US.utf8"));
std::cout.imbue(std::locale("en_US.utf8"));
std::string utf8str = "黄山谷捷";
// 将UTF-8编码的字符串转换为宽字符类型
std::wstring wstr = utf8_to_wstring(utf8str);
// 输出转换后的宽字符串以验证结果
std::wcout << L"Converted string: " << wstr << std::endl;
std::cout << "Converted string: " << utf8str << std::endl;
std::vector<stkvec> stkvecs123 = {
{"301598", "黄山谷捷"}
};
std::vector<stkvec> stkvecs1 = {
{"301598", "黄山谷捷"},
{"603072", "天和磁材"},
{"603194", "中力股份"},
{"301458", "N钧崴"},
{"001356", "N钧崴"},
{"001395", "N钧崴"},
{"301601", "N钧崴"},
{"301602", "N钧崴"}
};
std::string text22 = "这里是一些包含股票名称的文本,比如黄山谷捷。";
std::vector<std::string> matches = findMatchesWithRegex(stkvecs1, text22);
CPP文档编码如果是 带 bom 的 utf8, 编译没问题,如果保存为 utf8 编码保存,则报错:
严重性 代码 说明 项目 文件 行 禁止显示状态
错误 C2143 语法错误: 缺少“;”(在“std::vector<std::string,std::allocatorstd::string>”的前面) test C:\c\c++11\hiredis\test\test.cpp 463