我需要帮助从也包含变音符号的 .txt 文件中获取单词。 (所以有些单词包含 ěščř 等。顺便说一句,如果有帮助的话,这是捷克语变音符号。) 我的函数获取我输入的单词,但它不会获取我在控制台中输入的包含变音符号的单词。 我想我必须在 Microsoft Visual c++ 2010 中设置一些内容,但我不确定设置什么以及在哪里设置。万一我错了,有这个功能。
bool find(char typedword[50])
{
bool found = false;
char * word = new char [50];
fstream dictionary;
dictionary.open("Dictionary.txt", ios::in);
while (dictionary >> word)
{
if (strcmp(typedword, word) == 0)
{
found = true;
break;
}
}
dictionary.close();
if (found == true)
return true;
else
return false;
}
感谢您的帮助!
最佳答案
您需要区域设置支持,以便组合字符序列和复合等效序列比较相等。
可移植的方法是setlocale
并使用strcoll
而不是strcmp
。
Windows 方式是使用 CompareStringEx
(自动使用操作系统区域设置)而不是 strcmp
。 NormalizeString
也可能有帮助。
关于c++ - 如何在c++中实现变音符号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26183434/