Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/137.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
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 - Fatal编程技术网

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;
}