Arduino编程中的字符函数是用来执行Arduino中使用的字符数据类型的操作。这些函数用于确定使用什么类型的字符,或者是数字或字母。
Arduino中的字符函数
由于Arduino中使用了不同类型的字符,所以每种类型都有一个字符函数来识别该类型的字符。以下是本论述中简要说明的11种字符函数:
- isuppercase()和islowercase()字符函数
- isdigit()字符函数
- isspace()字符函数
- ispunct()字符函数
- isxdigit()字符函数
- isalpha()字符函数
- isascii()字符函数
- iscntrl()字符函数
- isprint()字符函数
- isalnum()字符函数
- isGraph()字符函数
每个函数的解释都有其各自的例子支持。给出的Arduino程序的例子是使用三元运算符。这个运算符又被分为三个部分。第一部分是要检查的条件,然后是运算符,如果结果是正确的,那么将显示第一个给定的值,如果不是,将显示第二个值。这可以通过三元运算符的语法来进一步清除。
((function applied ) ? (value to be displayed if true):( value to be displayed if False ));
isupperCase()和islowerCase()字符函数
大写字母函数用于检查Arduino编程中使用的字符是否为大写字母。同样地,为了确定字符是否以小写字母书写,则使用小写函数。两个函数的示例代码都给出了。
void setup () {
Serial.begin (9600);
Serial.print (" Function islower says:\r") ;
Serial.print (islower( 'F' ) ? "f is " : "F is not " );
Serial.println ( " lowercase letter\r" );
Serial.print ("Function islower says :\r") ;
Serial.print (islower( 'f' ) ? "f is a" : "F is not a" );
Serial.println ( " lowercase letter\r" );
Serial.print ("Function isupper says:\r") ;
Serial.print (isupper( 'F' ) ? "F is " : "f is not " );
Serial.println ( " uppercase letter\r" );
Serial.print ("Function isupper says :\r") ;
Serial.print (isupper( 'f' ) ? "F is a" : "f is not a" );
Serial.println ( " uppercase letter\r" );
}
void loop () {
}

输出

isdigit()字符函数
为了检查字符是数字还是字母,Arduino编程中使用**isdigit()**函数。示例代码给出了对该函数的进一步清晰理解。
void setup () {
Serial.begin (9600);
Serial.print (" Function isdigit says:\r") ;
Serial.print (isdigit( '1' ) ? "1 is " : "1 is not " );
Serial.println ( " Digit \r" );
Serial.print ("Function isdigit says :\r") ;
Serial.print (isdigit( 'a' ) ? "a is a" : "a is not a" );
Serial.println ( " Digit\r" );
}
void loop () {
}

输出

isspace()字符函数
为了确定Arduino程序中是否有空格,使用了字符函数isspace()。这些空间包括水平或垂直的制表空间,换行空间,换页空间,返回空间。在这里的示例代码中,所有类型的空格都被使用,并通过使用isspace()函数来确定。Arduino程序的输出是二进制形式的。如果输出为1,则表示为真,如果结果为0,则表示为假。
char character1 = ' ';
char character2 = '\t';
char character3 = 'C';
char character4 = '\n';
char character5 = '\f';
char character6= 'a';
char character7='\v';
char character8= '\r';
void setup() {// put your setup code here, to run once:
Serial.begin(9600);
Serial.println(isSpace(character1));
Serial.println(isSpace(character2));
Serial.println(isSpace(character3));
Serial.println(isSpace(character4));
Serial.println(isSpace(character5));
Serial.println(isSpace(character6));
Serial.println(isSpace(character7));
Serial.println(isSpace(character8));
}
void loop() {
}

输出

ispunct()字符函数
为了识别代码中的任何标点符号,使用了**ispunct()**函数。在这个例子中,使用了四个标点符号,还使用了一个字符和一个数字,以便清楚地了解该函数的工作情况。
void setup () {
Serial.begin (9600);
Serial.print ("function ispunct says:\r");
Serial.print (ispunct( '!' ) ? "! is a": "! is not a");
Serial.println(" punctuation mark \r" );
Serial.print ("function ispunct says:\r");
Serial.print (ispunct( ':' ) ? ": is a": ": is not a");
Serial.println(" punctuation mark \r" );
Serial.print ("function ispunct says:\r");
Serial.print (ispunct( '0' ) ? "0 is a": "0 is not a");
Serial.println(" punctuation mark \r" );
Serial.print ("function ispunct says:\r");
Serial.print (ispunct( 'a' ) ? "a is a": "a is not a");
Serial.println(" punctuation mark \r" );
Serial.print ("function ispunct says:\r");
Serial.print (ispunct( ';' ) ? "; is a": "; is not a");
Serial.println(" punctuation mark \r" );
Serial.print ("function ispunct says:\r");
Serial.print (ispunct( '.' ) ? ". is a": ". is not a");
Serial.println(" punctuation mark \r" );
}
void loop(){
}

输出

isxdigit()字符函数
在Arduino编程中,为了挑选出十六进制的数字,使用了**isxdigit()**字符函数。十六进制包含从0到9的符号和其他一些从A到F的字母符号,进一步可以从示例代码中清除。
void setup () {
Serial.begin (9600);
Serial.print ("function isxdigit says:\r");
Serial.print (isxdigit( 'a' ) ? "a is a": "a is not a");
Serial.println(" hexadecimal digit \r" );
Serial.print ("function isxdigit says:\r");
Serial.print (isxdigit( '10' ) ? "10 is a": "10 is not a");
Serial.println(" hexadecimal digit \r" );
Serial.print ("function isxdigit says:\r");
Serial.print (isxdigit( 'e' ) ? "e is a": "e is not a");
Serial.println(" hexadecimal digit \r" );
Serial.print ("function isxdigit says:\r");
Serial.print (isxdigit( 'y' ) ? "y is a": "y is not a");
Serial.println(" hexadecimal digit \r" );
Serial.print ("function isxdigit says:\r");
Serial.print (isxdigit( '2' ) ? "2 is a": "2 is not a");
Serial.println(" hexadecimal digit \r" );
}
void loop(){
}

输出

isalpha()字符函数
**isalpha()**函数用于识别Arduino编程中的字母。它检查一个字符是否有一个字母或数字。
void setup () {
Serial.begin (9600);
Serial.print ("function isalpha says:\r");
Serial.print (isalpha( 'a' ) ? "a is a": "a is not a");
Serial.println(" letter \r" );
Serial.print ("function isalpha says:\r");
Serial.print (isalpha( '10' ) ? "10 is a": "10 is not a");
Serial.println(" letter \r" );
Serial.print ("function isalpha says:\r");
Serial.print (isalpha( 'e' ) ? "e is a": "e is not a");
Serial.println(" letter \r" );
Serial.print ("function isalpha says:\r");
Serial.print (isalpha( '#' ) ? "# is a": "# is not a");
Serial.println(" letter \r" );
Serial.print ("function isalpha says:\r");
Serial.print (isalpha( 'D' ) ? "D is a": "D is not a");
Serial.println(" letter \r" );
}
void loop(){
}

输出

isascii()字符函数
如果代码中使用了任何字符的ascii数字,**isascii()**函数会告诉你所给的数字是否是某个字符的ascii。
void setup () {
Serial.begin (9600);
Serial.print ("function isascii says:\r");
Serial.print (isascii( '$' ) ? "$ is a": "$ is not a");
Serial.println(" ascii \r" );
Serial.print ("function isascii says:\r");
Serial.print (isascii( 'E' ) ? "E is a": "E is not a");
Serial.println(" ascii \r" );
Serial.print ("function isalpha says:\r");
Serial.print (isascii( 'α' ) ? " α is a": "α is not a");
Serial.println(" ascii \r" );
Serial.print ("function isalpha says:\r");
Serial.print (isascii( 'ẟ' ) ? "ẟ is a": "ẟ is not a");
Serial.println(" ascii \r" );
}
void loop(){
}

输出

iscntrl()字符函数
为了识别Arduino代码中的控制字符,如文本结束(EOH),传输结束(EOT),确认(ACK),退格(BS),文本开始(SOT),标题开始(SOH)和询问(ENQ),**iscontrol()**字符函数被使用。同样地,每个控制字符都有其ascii。所以这里的例子中使用了ascii。
void setup () {
Serial.begin (9600);
Serial.print ("function iscntrl says:\r");
Serial.print(iscntrl( '\n' ) ? "\\n is a ": "\\n is not a");
Serial.println(" control function \r" );
Serial.print ("function iscntrl says:\r");
Serial.print (iscntrl( '\t' ) ? "\\t is a": "\\t is not a");
Serial.println(" control function \r" );
Serial.print ("function iscntrl says:\r");
Serial.print (iscntrl( '\f' ) ? "\\f is a": "\\f is not a");
Serial.println(" control function \r" );
Serial.print ("function iscntrl says:\r");
Serial.print (iscntrl( '\s' ) ? "\\s is a": "\\s is not a");
Serial.println(" control function \r" );
}
void loop(){
}

输出

isprint()字符函数
在Arduino程序中,有一些字符不会显示在屏幕或输出中。因此,为了识别这些字符,使用了**isprint()**字符函数。
void setup () {
Serial.begin (9600);
Serial.print ("function isprint says:\r");
Serial.print (isprint( 'Ø' ) ? " Ø is a": " Ø is not a");
Serial.println(" printing character \r" );
Serial.print ("function isprint says:\r");
Serial.print (isprint( '>' ) ? "> is a": "> is not a");
Serial.println(" printing character \r" );
}
void loop(){
}

输出

isalnum()字符函数
对于字母和数字的识别,Arduino编程中使用了字母数字函数isalnum()。
void setup () {
Serial.begin (9600);
Serial.print ("function isalnum says:\r");
Serial.print (isalnum( '@' ) ? "@ is a": "@ is not a");
Serial.println(" is alpha numeric\r" );
Serial.print ("function isalnum says:\r");
Serial.print (isalnum( '1' ) ? "'1' is a": "'1' is not a");
Serial.println(" is alpha numeric\r" );
Serial.print ("function isalnum says:\r");
Serial.print (isalnum( 'a' ) ? "a is a": "a is not a");
Serial.println(" is alpha numeric\r" );
}
void loop(){
}

输出

isgraph()字符函数
这个字符函数可以识别可打印的字符,以及其中有一些内容。同样,如果字符有空格但没有任何内容,那么**isgraph()**函数将不考虑它。
char character1 = ' ';
char character2 = 'd';
void setup() {
Serial.begin(9600);
Serial.println(isGraph(character1));
Serial.println(isGraph(character2));
}
void loop() {
}

输出

总结
在Arduino编程中,为了存储字符的值,使用了字符数据类型。同样地,字符用于执行不同类型的功能。因此,为了根据字符的属性来确定其类型,我们使用了不同的字符函数。本篇文章通过实例简要地解释了Arduino中使用的不同类型的字符函数。