C++ Can';t让法语字符在C+中工作+; //francais projecct test1.cpp:定义控制台应用程序的入口点。 // #包括“stdafx.h” #包括 #包括 使用名称空间std; int main() { char userAnswer[10]; char-answer[]={“Vousêtes”}; wcout>userAnswer; if(strcmp(userAnswer,answer)==0) cout
C++ Can';t让法语字符在C+中工作+; //francais projecct test1.cpp:定义控制台应用程序的入口点。 // #包括“stdafx.h” #包括 #包括 使用名称空间std; int main() { char userAnswer[10]; char-answer[]={“Vousêtes”}; wcout>userAnswer; if(strcmp(userAnswer,answer)==0) cout,c++,unicode,C++,Unicode,std::getline是为std::basic_string(特殊情况包括std::string,std::wstring)定义的。普通字符数组不属于该类别 参考: 尽管我强烈建议您使用std::string/std::wstring,但如果您想让代码正常工作,您必须在本例中使用cin.getline 您可以参考本节中的示例2: 其次,userAnswer==answer是错误的,因为它将比较两个指针,而不是它们的实际内容 为此,应使用strcmp() 参考: 大概是这样的: // fra
std::getline
是为std::basic_string
(特殊情况包括std::string
,std::wstring
)定义的。普通字符数组不属于该类别
参考:
尽管我强烈建议您使用std::string
/std::wstring
,但如果您想让代码正常工作,您必须在本例中使用cin.getline
您可以参考本节中的示例2:
其次,userAnswer==answer
是错误的,因为它将比较两个指针,而不是它们的实际内容
为此,应使用strcmp()
参考:
大概是这样的:
// francais projecct test1.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <iostream>
#include <string>
using namespace std;
int main()
{
char userAnswer[10];
char answer[] = { "Vous êtes" };
wcout << "s'il vous plaat ecrire conjugation pour Vous etre: ";
cin>>userAnswer;
if (strcmp(userAnswer, answer) == 0)
cout << endl << "correct"<<endl<<endl;
else
cout << endl << "wrong answer"<<endl<<endl;
system("pause");
return 0;
}
#包括
#包括
#包括
使用名称空间std;
int main()
{
char userAnswer[10];
字符应答[]=“您可以”;
wcout如何使userAnswer==answer工作并使其与实际值进行比较content@Juan您想使用char*
还是wchar\u t*
?我对每两个问题都有单独的答案。实际上,我不知道应该使用哪一个。为了减少红色错误标记,我使用了char*。这是我第一次使用unicode,它比wc更好har\u t或char你能告诉我它实际上取决于编码类型和平台。请看:。因此,我认为char*
就足够了。我会相应地回答。std::getline
是为std::string
定义的。根据,std::getline
与特定类无关(std::string
,或std::wstring
),或特定流(std::cin
,或std::wcin
)。另外,“plaît”上有一个回旋符号,“écrire”上有一个锐符号。虽然我通常会为您尝试在Windows上使用Unicode IO而鼓掌,如果您只对法语口音(和控制台输出)感兴趣的话那么你就不需要了:你可以用默认的代码页覆盖欧洲大部分地区。我的法语真的很生疏,但我也刚刚想到:你可能想要“埃克里维兹”,而不是“埃克里尔”,作为命令式vous形式。结果表明,即使答案错误,并且重音字符在可能的
#include <iostream>
#include <string>
#include <cstring>
using namespace std;
int main()
{
char userAnswer[10];
char answer[] = "Vous etes";
wcout <<"s'il vous plait ecrire conjugation pour Vous etre: ";
cin.getline(userAnswer, 10);
if (!strcmp(userAnswer, answer))
{
wcout <<endl<< "correct";
}
else
{
wcout <<endl<< "wrong answer";
}
return 0;
}