我需要帮助从.txt文件获取单词,该文件也包含变音符号。 (所以有些单词包含了ěščř等。顺便提一句,如果有帮助的话,那就是捷克变音符号。) 我的函数获取我输入的单词,但它不会得到我在包含变音符号的控制台中输入的单词。 我想我必须在我的Microsoft Visual c + + +中设置一些内容,但我不确定在哪里和哪里。如果我错了,那就是功能。
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;
}
感谢您的帮助!
答案 0 :(得分:2)
您需要区域设置支持,以便组合字符和复合等效项的序列相等。
可移植方式为setlocale
并使用strcoll
代替strcmp
。
Windows方式是使用CompareStringEx
(自动使用操作系统区域设置)而不是strcmp
。 NormalizeString
也可能有所帮助。