学习C++的 "Isalnum"方法

156 阅读6分钟

在Windows环境和Linux发行版中,C++是一种相当多样化和很酷的语言。它提出了许多不同的方法,其中之一就是 "isalnum()"。isalnum()方法是用来检查给定的字符是否是字母数字的。因此,本指南将讨论一些简单的例子来说明 "isalnum() "方法对一些字符串值的作用。所以,让我们有一个好的开始。

例子01:

开始你的第一个例子,打开一个控制台shell并创建一个新文件。终端应该通过 "Ctrl+Alt+T "或活动菜单区来打开,在那里可以找到Linux系统的所有应用程序。当终端在你的屏幕上启动时,试着用 "触摸 "指令创建一个新的C++文件,如下文所附的快照中所示。要打开并在其中添加代码,你可以在桌面的文件资源管理器的帮助下导航到主文件夹。我们更喜欢通过外壳使用一些编辑器来打开它,即vim或nano。因此,我们选择用GNU Nano编辑器打开它,并在快照中显示的命令的帮助下。

你会看到你新创建的C++文件将在GNU Nano编辑器中被打开,而且一开始是空的。添加所需的标准库以使用整数、字符类型的变量和isalnum()方法。所以,我们已经添加了标准输入输出库的头。这里的 "ctype "头专门用于 "isalnum() "方法。我们已经用 "int "的返回类型初始化了main()方法。

在main()方法的开始,我们声明了一个数值为1的整数变量 "x",字符类型的字符串变量 "Arr "中也有一个字符串值。变量 "x "将被用作一个数组的索引。while循环已经被初始化,以检查其内部指定的条件。该条件使用 "isalnum() "方法来计算在特定索引 "x "处的字符为字母数字时的字符数量。它将继续增加索引值,直到某个非字母数字值出现。这里使用了printf语句来告诉我们在字符类型的字符串变量 "Arr "中使用变量 "x "的值有多少个字母-数字字符。随着 "返回0 "子句的使用,main()方法关闭。让我们把你的C++ isalnum()代码保存在shell上编译。为此使用 "Ctrl+S",并使用 "Ctrl+X "导航回到终端控制台。

如果你不知道Linux发行版中支持的C++编译器,那么一定要按照建议安装g++编译器。在shell中使用 "g++"指令,使用一个文件名来编译C++代码。如果编译指令没有返回任何东西,这意味着代码在语义上是正确的,而且没有语法错误。在编译后开始执行你的文件,在控制台shell内使用永远的"./a.out "命令。

你可以清楚地看到输出结果,字符类型字符串持有前11个字母数字字符。这个isalnum()函数将"@"作为一个非字母数字字符。因此,它在发现它的时候就停止了进一步的执行。

例02:

让我们再一次打开这个文件,稍微改变一下我们的代码。没有必要改变整个代码。我们只是要改变字符类型的字符串变量 "Arr"。因此,我们在开头用 "#./"更新它的值。我们已经保存了这个文件,之后关闭了它。

为了应用刚才的改动,我们必须再次编译代码。因此,我们使用了同样的 "g++"编译查询。到目前为止还没有发现任何错误。在执行了这段更新的代码后,我们得到了如下附图所示的结果。结果显示,我们只有1个字母-数字字符。这意味着,当你在一个字符串的开头添加超过1个非字母数字的字符时,它将把第一个字符作为字母数字。

让我们再次更新代码,看看在字符串中取字母数字字符的可能结果。因此,在GNU nano编辑器中再次打开该文件。更新字符类型字符串数组 "Arr "的值,在它的开头添加"';",并保存更新。退出编译代码。

现在,在控制台应用程序中使用 "g++"编译器命令再次编译这个更新的文件。执行后,它显示只有第一个字符是字母数字。

例子03:

这一次我们将看到isalnum()方法对字母数字和特殊符号的反应。因此,我们在编辑器中启动了同一个文件 "isalnum.cc",并将字符类型字符串数组 "Arr "的值改为 "aqsa...."。现在,它有4个字母和4个点。

编译并运行更新后的代码文件后,我们的结果是4,与预期一致。

例04:

在这个实例中,我们将检查isalnum()方法的空格值。因此,我们启动了同一个文件,将char类型的字符串变量 "Arr "的值更新为一些空格。之后,代码被保存,文件也被退出。

当我们再次编译并执行该代码时,它的结果是返回1。这与我们在例2中得到的结果相同,即isalnum()将识别空格为字母数字值。

例05:

最后一个例子与上面讨论的其他例子完全不同。这次我们更新了C++文件 "isalnum.cc "的全部代码。添加了输入输出流头文件,并在第一行加上了 "include "一词。为了使我们的代码不出错,我们利用了标准命名空间。main()函数以初始化一个字符类型的数组变量 "Arr "开始,其大小为 "200"。这意味着我们最多可以向其中添加200个字符。这里使用 "cout "子句来要求用户添加一些输入。cin.get "输入流将允许编译器在 "Arr "变量中添加数值,同时从用户那里获得大小为200的数值。

这里使用了 "for "循环来迭代用户在数组 "Arr "中输入的值,并检查该值是否不等于"\0"。在那之前,它将继续迭代。if "语句利用 "isalnum() "方法来检查数组中的字符是否为字母数字,并通过 "cout "命令将其显示在shell上。

编译这段新建的代码。在执行了三次代码后,我们输入了不同的数值,每次都得到不同的结果。

总结

本教程指南涵盖了 "isalnum() "方法来检查字符是否为字母数字。为了实现我们的目标,我们使用了整数型变量和字符型字符串数组。此外,"if "语句、"for "和 "while "循环也非常有助于得出所需的结果。