C 标准库 - ctype.h之isalnum使用
isalnum
int isalnum ( int c );
- Checks whether c is either a decimal digit or an uppercase or lowercase letter.
- 检查给定的字符是否为当前 C 本地环境所分类的字母数字字符。在默认本地环境中,下列字符为字母数字:
- 数字( 0123456789 )
- 大写字母( ABCDEFGHIJKLMNOPQRSTUVWXYZ )
- 小写字母( abcdefghijklmnopqrstuvwxyz )
若 c 的值不能表示为 unsigned char 且不等于 EOF ,则行为未定义。
Parameters
c
- Character to be checked, casted as an int, or EOF.
- c - 要分类的字符
Return Value
- A value different from zero (i.e., true) if indeed c is either a digit or a letter. Zero (i.e., false) otherwise.
- 若字符为字母数字字符,则为非零,否则为 0 。
Example
//
// Created by zhangrongxiang on 2018/1/31 13:33
// File isalnum
//
#include <stdio.h>
#include <ctype.h>
#include <locale.h>
/*isalnum*/
int main(void) {
///////////////////////////////////////////////////////////////////////////////////
unsigned char c = '\xdf'; // ISO-8859-1 中的德文字母 ß
printf("isalnum('\\xdf') in default C locale returned %d\n", c, !!isalnum(c));
if (setlocale(LC_CTYPE, "de_DE.iso88591"))
printf("isalnum('\\xdf') in ISO-8859-1 locale returned %d\n", !!isalnum(c));
if (setlocale(LC_CTYPE, "en_US.UTF-8"))
//isalnum('\xdf') in UTF-8 locale returned 0
printf("isalnum('\\xdf') in UTF-8 locale returned %d\n", !!isalnum(c));
///////////////////////////////////////////////////////////////////////////////////
int var1 = 'd';
int var2 = '2';
int var3 = '\t';
int var4 = ' ';
if (isalnum(var1)) {
printf("var1 = |%c| 是字母数字\n", var1);
} else {
printf("var1 = |%c| 不是字母数字\n", var1);
}
if (isalnum(var2)) {
printf("var2 = |%c| 是字母数字\n", var2);
} else {
printf("var2 = |%c| 不是字母数字\n", var2);
}
if (isalnum(var3)) {
printf("var3 = |%c| 是字母数字\n", var3);
} else {
printf("var3 = |%c| 不是字母数字\n", var3);
}
if (isalnum(var4)) {
printf("var4 = |%c| 是字母数字\n", var4);
} else {
printf("var4 = |%c| 不是字母数字\n", var4);
}
// var1 = |d| 是字母数字
// var2 = |2| 是字母数字
// var3 = | | 不是字母数字
// var4 = | | 不是字母数字
///////////////////////////////////////////////////////////////////////////////////
int i;
char str[] = "c3po...";
i = 0;
while (isalnum(str[i])) i++;
//The first 4 characters are alphanumeric.
printf("The first %d characters are alphanumeric.\n", i);
return 0;
}
文章参考
- http://zh.cppreference.com/w/c/string/byte/isalnum
- http://www.cplusplus.com/reference/cctype/isalnum/
- http://www.runoob.com/cprogramming/c-function-isalnum.html
C 标准库 - ctype.h之isalnum使用的更多相关文章
- C 标准库 - ctype.h
C 标准库 - ctype.h This header declares a set of functions to classify and transform individual charact ...
- C标准库<ctype.h>实现
本文地址:http://www.cnblogs.com/archimedes/p/c-library-ctype.html,转载请注明源地址. 1.背景知识 ctype.h是C标准函数库中的头文件,定 ...
- C 标准库 - ctype.h之iscntrl 使用
iscntrl int iscntrl ( int c ); Check if character is a control character 检查给定字符是否为控制字符,即编码 0x00-0x1F ...
- C 标准库 - ctype.h之isalpha使用
isalpha int isalpha ( int c ); Checks whether c is an alphabetic letter. 检查给定字符是否字母字符,即是大写字母( ABCDEF ...
- C 标准库 - string.h
C 标准库 - string.h This header file defines several functions to manipulate C strings and arrays. stri ...
- C 标准库 - <assert.h>
C 标准库 - <assert.h> 简介 C 标准库的 assert.h头文件提供了一个名为 assert 的宏,它可用于验证程序做出的假设,并在假设为假时输出诊断消息. 已定义的宏 a ...
- C 标准库 - <stdarg.h>
C 标准库 - <stdarg.h> 简介 stdarg.h 头文件定义了一个变量类型 va_list 和三个宏,这三个宏可用于在参数个数未知(即参数个数可变)时获取函数中的参数. 可变参 ...
- C 标准库 - <signal.h>
C 标准库 - <signal.h> 简介 signal.h 头文件定义了一个变量类型 sig_atomic_t.两个函数调用和一些宏来处理程序执行期间报告的不同信号. 库变量 下面是头文 ...
- C 标准库 - <setjmp.h>
C 标准库 - <setjmp.h> 简介 setjmp.h 头文件定义了宏 setjmp().函数 longjmp() 和变量类型 jmp_buf,该变量类型会绕过正常的函数调用和返回规 ...
随机推荐
- 分布式流式计算平台——S4
本文是作者在充分阅读和理解Yahoo!最新发布的技术论文<S4:Distributed Stream Computing Platform>的基础上,所做出的知识分享. S4是Yahoo! ...
- SelectOnCheck
1.checkOnSelect 如果为true,当用户点击行的时候该复选框就会被选中或取消选中. 如果为false,当用户仅在点击该复选框的时候才会呗选中或取消. 2.selectOnCheck 如果 ...
- UWP开发入门(三)——{x:Bind}扩展标记
上周打炉石打得太晚……忘记更新了,本周补上.本篇我们讲一下{x:Bind}扩展标记.{x:Bind}扩展标记也是Windows 10 Uinversal 新增的内容,按官方的说法是 {Binding} ...
- jdk-7u40-windows-i586的安装
1.预备知识: i586 指的是windows 32bit版本 Oracle.微软.IBM这些大佬们最“贵族”了-----他们都很喜欢 C盘 2.关键 JDK必须装在C盘目录下,才能在命令行下正确运行 ...
- python--变量,常量,用户交互
1.变量 概念:把程序运行过程中产生的中间值保存在内存,方便后面使用 命名规范: 1.字母,数字,下划线组成 2.不能用数字开头,且不能用纯数字 3.不能用python关键字 4.不要用中文 5.要有 ...
- Sphinx全文检索
全文检索 一.生活中的数据总体分为: 结构化数据:指具有固定格式或有限长度的数据,如数据库,元数据等. 非结构化数据:指没有固定格式或不定长的数据,如邮件,word文档等. 非结构化数据还有一种叫法: ...
- P3357 最长k可重线段集问题 网络流
P3357 最长k可重线段集问题 题目描述 给定平面 x-O-yx−O−y 上 nn 个开线段组成的集合 II,和一个正整数 kk .试设计一个算法,从开线段集合 II 中选取出开线段集合 S\sub ...
- setInterval(),setTimeout(),location.reload(true)
1,setInterval() setInterval()方法可以按照指定的周期来调用函数或表达式,他会不停地调用函数,直到调用clearInterval()方法或窗口关闭.由setInterval( ...
- Microsoft Windows XP Professional X64 Edition Corporate Keys
FVMK4-6DD4B-26MB4-74JB2-R4XWM DHR8W-69GX3-YWPM9-P98K2-B2V4Y DDR6D-XMQ6V-78Y2B-B6TP4-YXMRY J4K6H-DTTF ...
- SpringMvc HttpMessageConverter之@ResponseBody
我们先看HttpMessageConverter的示意图,从图片可以看出它是多么的重要.在一条必经之路截道了的感觉. 先上我的测试例子: jsp页面: <%@ page language=&qu ...