Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/134.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++ 如何使用strcmp将字符串与预定义字符串进行比较_C++ - Fatal编程技术网

C++ 如何使用strcmp将字符串与预定义字符串进行比较

C++ 如何使用strcmp将字符串与预定义字符串进行比较,c++,C++,如何使用strcmp将字符串与预定义字符串进行比较 strcmp方法有两个参数,在您的例子中,第一个参数是密码或用户名键,它将与第二个作为用户输入值的单词进行比较。 比如说 strcmp(key, value); 这将返回一个整数值,如果字符串匹配,则返回0;如果字符串不匹配,则返回负值或正值,具体取决于字符的ASCII值。您的代码存在许多问题: 在for循环中,使用y作为计数器,但在循环内的代码中使用y。你用x。 假设x在该点为10,则始终比较一个不远处的用户/密码,因为数组包含其中的4个。

如何使用strcmp将字符串与预定义字符串进行比较

strcmp方法有两个参数,在您的例子中,第一个参数是密码或用户名键,它将与第二个作为用户输入值的单词进行比较。 比如说

strcmp(key, value);

这将返回一个整数值,如果字符串匹配,则返回0;如果字符串不匹配,则返回负值或正值,具体取决于字符的ASCII值。

您的代码存在许多问题:

在for循环中,使用y作为计数器,但在循环内的代码中使用y。你用x。 假设x在该点为10,则始终比较一个不远处的用户/密码,因为数组包含其中的4个。 此外,循环限制为5而不是4,因此循环次数过多。最好使用单个常量,最好让编译器使用sizeof或std::size计算大小。 如果测试的第一个密码是错误的,则显示一个错误,即该密码无效,而没有测试其他3个密码,因为您中断了循环。
strcmp不返回布尔值,它返回一个int.0.Yep@JavierSilvaOrtíz,见上文。就像ifstrcmusr,user==0&&strcmpss,pass==0?Yep@微型程序设计师[x]的用途是什么?有必要吗@Samblakky您的问题可能需要一些额外的细节,比如您遇到了什么问题。不过,请看一下您的if/else语句。你觉得有什么好玩的吗?我对使用strcmp进行预定义和来自用户@1201programalMif的输入感到困惑。如果可能,放弃字符数组并使用std::string。还应注意,y=0时的两条路径都是通过的;yReturn类型的main必须显式为Int,以使人们专注于您提出的问题,这有助于生成一个。基于这个问题,我猜这样一个例子的主函数可能有五行。定义字符串,然后使用if-else语句将其与字符串文本进行比较。好的,那么我将使用size\u t或sizeof?输入?
strcmp(key, value);