精华内容
下载资源
问答
  • ctype模块使你能够轻而易举地调用动态链接库中的导出函数,也能使你通过ctype构建复杂的c数据类型,并编写出具备低层内存操作能力的工具函数。ctype库赋予我们类似c语言一样的底层操作能力,同时却又保有动态语言...

    ctype模块使你能够轻而易举地调用动态链接库中的导出函数,也能使你通过ctype构建复杂的c数据类型,并编写出具备低层内存操作能力的工具函数。ctype库赋予我们类似c语言一样的底层操作能力,同时却又保有动态语言便捷的本性。​ctype模块提供了三种不同的动态链接库加载方式:cdll(),

    windll(), oledll()。 有了ctype的帮助,可以很简单地使用动态链接库的导出函数,下面用一个例子演示。

    例子:​

    在Windows平台下从运行时C库中解析出函数printf()的内存地址,并使用它输出一条测试信息。​

    在Windows下,动态链接库msvcrt.dll即为我们的运行时C库,位于C:\Windows\System32\下。​​

    创建printftest.py,输入下列代码:​

    from ctypes import *

    msvcrt=cdll.msvcrt

    message_string="Hello world!\n"

    msvcrt.printf("Testing:%s",message_string)​

    运行结果:​

    Testing:Hello world!

    展开全文
  • CType函数

    千次阅读 2018-05-03 21:20:40
    CType函数是一个内联函数,这意味着转换是由已编译的代码执行的,通常不会生成函数调用,这将提高性能。返回表达式显示地转换为指定的数据类型、对象、结构、类或接口后的结果。CType(expression,typename) 各部分...

    CType函数作用于两个参数。第一个参数是将要转换的表达式,第二个参数是目标类型或对象类。

    注意,第一个参数必须是表达式,不能是类型。


    CType函数是一个内联函数,这意味着转换是由已编译的代码执行的,通常不会生成函数调用,这将提高性能。

    返回表达式显示地转换为指定的数据类型、对象、结构、类或接口后的结果。

    CType(expression,typename) 各部分说明

    expression

    任何有效的表达式。如果expression的值超出typename允许的范围,将引发异常。

    typename

    任何在Dim语句的As子句内合法的表达式,即任何数据类型、对象、结构、类或接口的名称。

    备注

    CType采用内联方式编译,即转换代码是计算表达式的代码的一部分。在某些情况下不需要调用一个过程来完成转换,这会使执行速度更快。

    如果没有定义从expressiontypename的转换,例如从Integer转换到DateVisaul Basic将显示一条编译时错误信息。

    如果在运行时转换失败,将会引发相应的异常。如果收缩转换失败,最常见的结果是OverflowException。如果未定义转换,将会发生InvalidCastException。例如,如果Exception的类型为Object,并且其运行时类型没有转换为typename,则可能会发生这种情况。

    如果expressiontypename的数据类型为已经定义的类或结构,则可以在该类或结构中将CType定义为转换运算符。这将使CType用作重载运算符。如果这样做,则可以控制转换在类或结构之间进行的转换的行为,包括可能引发的异常。

    重载

    CType运算符也可以在代码之外定义的类或结构中重载。如果您的代码需要在这样的类或结构之间进行转换,请确定您了解其CType运算符的行为。

    示例

    基本类型

    k=CType(q,Integer)

    'The following statement coerces w to the specific object class Lable

    f=CType(w,Lable)

    Dim testNumber As Long=1000

    Dim testNewType As Single=CType(testNumber,Single)

    复合类型

    可以使用CType将值转换为复合数据类型和基本类型,也可以使用它将对象类型强制转换为它的一个接口类型。

    'Assume class cZone implements interfac iZone

    Dim h As Object

    'The first argument to CType must be an expression,not a type

    Dim cZ As cZone

    'The following statement coerces a cZone object to its interface iZone

    h=CType(cZ,iZone)

    数组类型

    CType也可以转换数组数据类型

    Dim v() As classV

    Dim obArray() As Object

    'Assume some object array has been assigned to obArray

    'Check for run-time type compatibility

    If TypeOf obArray Is classV() Then

    'obArray can be converted to classV

    v=CType(obArray,classV())

    End If

    注意

    与转换关键字一起使用的值对于目标数据类型必须是有效的,否则将会出错。例如,如果试图将Long转换为Integer,则Long的值必须在Integer数据类型的有效范围内。

    CType函数的使用

    使用对象数据类型来传递对象引用并在我们需要处理它们的时候将它们转换为适当的类型是十分有用的。这一切可以通过使用CType函数来实现,它允许我们使用类型对象的变量来使用早的捆绑方法调用:

    Module LateBind

            Public Sub DoSomething(ByVal obj As Object)

                CType(obj, TheClass).MyMethod()

            End Sub

        End Module

    我们使用CType方法来暂时将变量转换为一个特殊的类型而不管TheClass的类型。CType函数是很有用的,特别是我们处理对象来执行多个界面的时候,因为我们可以引用一个对象变量并且它可以转换为适当的类型。举个例子,如果我们有一个类型的对象TheClass,这个对象执行MyInterface,哪么我们可以这样编写代码:

    Dim obj As TheClass

            obj = New TheClass

     

     

    Module LateBind

            Public Sub DoSomething(ByVal obj As Object)

                CType(obj, TheClass).MyMethod()

            End Sub

        End Module

    我们使用CType方法来暂时将变量转换为一个特殊的类型而不管TheClass的类型。CType函数是很有用的,特别是我们处理对象来执行多个界面的时候,因为我们可以引用一个对象变量并且它可以转换为适当的类型。举个例子,如果我们有一个类型的对象TheClass,这个对象执行MyInterface,哪么我们可以这样编写代码:

    Dim obj As TheClass

            obj = New TheClass

    Integer数据类型的有效范围内。
    展开全文
  • ctype函数The Ctype extension provides a set of functions that are used to verify whether the characters in a string are of the correct type. In this article we’ll take a look at the syntax used by ...

    ctype函数

    The Ctype extension provides a set of functions that are used to verify whether the characters in a string are of the correct type. In this article we’ll take a look at the syntax used by the character type functions, see what specific functions exist, and how they are used to perform validation.

    Ctype扩展提供了一组函数,这些函数用于验证字符串中的字符是否为正确的类型。 在本文中,我们将研究字符类型函数使用的语法,查看存在哪些特定函数以及如何使用它们执行验证。

    The extension is enabled by default if you’re running PHP 4.2 or above. If you cannot stand the thought of this extension running with your installation for some crazy reason, then you can use the --disable-ctype compile switch to turn it off.

    如果您运行的是PHP 4.2或更高版本,则默认情况下启用该扩展。 如果出于某种疯狂的原因无法忍受此扩展随安装一起运行,则可以使用--disable-ctype编译开关将其关闭。

    If you have a background in C, then you’re probably already familiar with the character type functions because that is where they come from (don’t forget that PHP is actually written in C). But if you’re into Python, then it’s only fair to point out that the PHP Ctype functions have absolutely nothing to do with the Python’s ctypes library. It’s just one of those tragic and totally unavoidable naming similarities.

    如果您具有C的背景知识,那么您可能已经熟悉字符类型函数,因为这就是它们的来源(别忘了PHP实际上是用C编写的)。 但是,如果您对Python感兴趣,那么仅指出PHP Ctype函数与Python的ctypes库完全无关即可。 这只是悲剧性的,完全不可避免的命名相似性之一。

    那么它是怎样工作的? (So How Does it Work?)

    It’s all very simple. As I noted before, the functions check a string value to see if the characters are within a given range or that every character is of the appropriate type. For example, you can use these functions to see if a string contains only uppercase characters, or if it’s numeric, or if it consists of hex characters, or one of the other dozen or so options available.

    一切都非常简单。 如前所述,这些函数检查字符串值,以查看字符是否在给定范围内,或者每个字符是否具有适当的类型。 例如,您可以使用这些函数查看字符串是否仅包含大写字符,数字或数字,十六进制字符或其他可用的大约十个选项之一。

    You should be diligent in making sure you always pass in a string. Sure, you can pass in integers, but you’re setting yourself up for trouble as the PHP manual notes on every function’s page:

    您应该努力确保始终输入一个字符串。 当然,您可以传入整数,但是您会遇到麻烦,因为PHP手册在每个函数的页面上都提到了这一点:

    If an integer between -128 and 255 inclusive is provided, it is interpreted as the ASCII value of a single character (negative values have 256 added in order to allow characters in the Extended ASCII range). Any other integer is interpreted as a string containing the decimal digits of the integer.

    如果提供的整数在-128到255之间(含-128和255),则将其解释为单个字符的ASCII值(负值添加256以允许扩展ASCII范围内的字符)。 其他任何整数都解释为包含该整数的十进制数字的字符串。

    This example from the ctype_digit() page illustrates the effect of this:

    ctype_digit()页面上的此示例说明了此操作的效果:

    <?php
    $numeric_string = "42";
    $integer        = 42;
    
    ctype_digit($numeric_string); // true
    ctype_digit($integer);        // false (ASCII 42 is '*')
    
    is_numeric($numeric_string);  // true
    is_numeric($integer);         // true

    If we look at the code above, the first line evaluates as true. The second statement, however, is false. It is true that 42 is an integer, but the ctype statement evaluates it as a single ASCII character which in this case is an asterisk.

    如果我们看上面的代码,第一行的评估结果为true。 但是,第二个陈述是错误的。 的确,42是整数,但是ctype语句将其评估为单个ASCII字符,在这种情况下为星号。

    Ctype functions are not the only way to validate data, of course. You can also use the is_numeric() function, depending on your needs. It treats a numeric as just that, a number, and returns true value as shown below:

    当然,Ctype函数不是验证数据的唯一方法。 您还可以根据需要使用is_numeric()函数。 它只将数字视为数字,然后将其返回真值,如下所示:

    <?php
    is_numeric($numeric_string);  // true
    is_numeric($integer);         // true

    There are also other is_* functions, including is_float(), is_integer(), etc.

    还有其他is_*函数,包括is_float()is_integer()等。

    Why are we talking about is_* functions here? Just to remind you there is more than one way to skin a cat. Actually, in today’s age I’m probably not supposed to say that. It’s just an expression. Don’t skin your cat and then tell everyone it was my idea. It’s just that there are multiple ways of doing things.

    我们为什么在这里谈论is_*函数? 只是要提醒您,有一种不只一种给猫皮的方法。 实际上,在当今时代,我可能不应该这么说。 这只是一种表达。 不要给猫咪剥皮,然后告诉所有人这是我的主意。 只是有多种做事方式。

    可用功能 (What Functions are Available)

    I’ve hinted that a wide range of checking is available, but what exactly are the functions available? What kind of checking is available? The list is below.

    我暗示了可以进行广泛的检查,但是可用的功能到底是什么? 可以进行哪种检查? 列表如下。

    • ctype_alnum() – check for alphanumeric characters (A – Z, upper or lower case, 0-9, no special characters, punctuation, or other freaks).

      ctype_alnum() –检查字母数字字符(A – Z,大写或小写,0-9,无特殊字符,标点符号或其他怪胎)。

    • ctype_alpha() – check for alphabetical characters (A-Z, upper or lower case).

      ctype_alpha() –检查字母字符(AZ,大写或小写)。

    • ctype_cntrl() – check for control characters (things like n, etc.).

      ctype_cntrl() –检查控制字符(诸如n东西)。

    • ctype_digit() – check for numeric characters (0-9, no decimal point, comma, etc.).

      ctype_digit() –检查数字字符(0-9,无小数点,逗号等)。

    • ctype_graph() – check for visually printable characters (not control characters or space).

      ctype_graph() –检查视觉上可打印的字符(非控制字符或空格)。

    • ctype_lower() – check for lowercase characters (a-z lower case only, no numbers).

      ctype_lower() –检查小写字符(仅az小写,无数字)。

    • ctype_print() – check for printable characters including control characters and space.

      ctype_print() –检查可打印字符,包括控制字符和空格。

    • ctype_punct() – check for punctuation type characters (no numbers, letters, or space). Generally these include many of the “swear word” characters that we often call “special” characters. @&!#

      ctype_punct() –检查标点类型字符(无数字,字母或空格)。 通常,这些字符包括许多我们经常称为“特殊”字符的“脏话”字符。 @&!#

    • ctype_space() – check for whitespace characters (includes blanks and any control character that leaves a space on the page, such as “Narrow No-Break Space” and the “Mongolian Vowel Separator”).

      ctype_space() –检查空格字符(包括空格和在页面上留下空格的任何控制字符,例如“窄无间断空格”和“蒙古语元音分隔符”)。

    • ctype_upper() – check for uppercase characters (A-Z upper case only, no numbers or special characters).

      ctype_upper() –检查大写字符(仅AZ大写,没有数字或特殊字符)。

    • ctype_xdigit() – check for hex characters.

      ctype_xdigit() –检查十六进制字符。

    如何使用它们 (How to Use Them)

    Using the Ctype functions is pretty easy. You just set it up, generally, in an if-statement, sometimes embedded in a loop if you’re testing a number of values from in an array, and then check if the result of the function call is true or false. True means that every character in that string is the type of character called for by that specific function.

    使用Ctype函数非常简单。 通常,您只是在if语句中进行设置,如果要在数组中测试多个值,有时会嵌入到循环中,然后检查函数调用的结果是true还是false。 True表示该字符串中的每个字符都是该特定函数所要求的字符类型。

    Here’s an example:

    这是一个例子:

    <?php
    if (ctype_alnum($string)) {
        echo "This string totally works";
    }
    else {
        echo "And this one not so much";
    }

    If the value of $string is “Azxc1234” then you’ll see the message that it works. If $string is “123#Axy” then it won’t because # is not an alphanumeric character.

    如果$string值为“ Azxc1234”,则您将看到它起作用的消息。 如果$string为“ 123#Axy”,则不会,因为#不是字母数字字符。

    Note that if you pass in an empty string, the functions will false in PHP 5.1 and above, but true if you are on an earlier version (just another reason to upgrade now!).

    请注意,如果传入空字符串,则函数在PHP 5.1及更高版本中将为false,但在较早版本中为true(这是立即升级的另一个原因!)。

    And also remember to make sure the input to a Ctype function is a string! When in doubt, there’s no harm in casting it.

    还要记住确保Ctype函数的输入是字符串! 如有疑问,投射它不会有任何危害。

    <?php
    $integer = 42;
    
    ctype_digit($integer);         // false
    ctype_digit((string)$integer); // true

    结论 (Conclusion)

    And that’s all there is to it! The functions should inherently be part of your PHP installation (if not then you definitely need to upgrade or stop setting up weird PHP set ups). And they are simple to use so long as you only input strings.

    这就是全部! 这些功能本来应该是PHP安装的一部分(如果不是,那么您肯定需要升级或停止建立怪异PHP设置)。 只要您只输入字符串,它们就易于使用。

    So where would you use them? Well, anytime you need to bring a string in from a form you could use them to test the validity of the data you are dealing with. Really, the sky’s the limit. (Fortunately, I don’t have to take a public or private stand on what you use them for; I just say what the functions are and how to use them).

    那么您将在哪里使用它们? 好了,只要您需要从表单中输入字符串,就可以使用它们来测试所处理数据的有效性。 真的,天空是极限。 (幸运的是,我不必针对您使用它们的用途采取公开或私人立场;我只是说说这些功能是什么以及如何使用它们)。

    Image via Fotolia

    图片来自Fotolia

    翻译自: https://www.sitepoint.com/an-introduction-to-ctype-functions/

    ctype函数

    展开全文
  • CType函数系列

    2017-05-20 13:17:28
    ctype.h是C标准函数库中的头文件,定义了一批C语言字符分类函数(C ...CType 采用内联方式编译,即转换代码是计算表达式的代码的一部分。在某些情况下不需要调用一个过程来完成转换,这会使执行速度更快。 如果没

    ctype.h是C标准函数库中的头文件,定义了一批C语言字符分类函数(C character classification functions),用于测试字符是否属于特定的字符类别,如字母字符、控制字符等等。既支持单字节(Byte)字符,也支持宽字符。

    CType 采用内联方式编译,即转换代码是计算表达式的代码的一部分。在某些情况下不需要调用一个过程来完成转换,这会使执行速度更快。

    如果没有定义从 expressiontypename 的转换,例如从 Integer 转换到Date,Visual Basic 将显示一条编译时错误信息。

    如果在运行时转换失败,将会引发相应的异常。如果收缩转换失败,最常见的结果是 OverflowException。如果未定义转换,将会发生 InvalidCastException。例如,如果expression 的类型为Object,并且其运行时类型没有转换为typename,则可能会发生这种情况。

    如果 expressiontypename 的数据类型为已经定义的类或结构,则可以在该类或结构中将CType 定义为转换运算符。这将使CType 用作重载运算符。如果这样做,则可以控制转换在类或结构之间进行的转换的行为,包括可能引发的异常。


    以下为字符函数库中常用的函数:
    函数名称 返回值
    isalnum()      如果参数是字母数字,即字母或数字,该函数返回true
    isalpha()       如果参数是字母,该函数返回真
    isblank()       如果参数是空格或水平制表符,该函数返回true
    iscntrl()         如果参数是控制字符,该函数返回true
    isdigit()         如果参数是数字(0~9),该函数返回true
    isgraph()      如果参数是除空格之外的打印字符,该函数返回true
    islower()      如果参数是小写字母,该函数返回true
    isprint()        如果参数是打印字符(包括空格),该函数返回true
    ispunct()      如果参数是标点符号,该函数返回true
    isspace()     如果参数是标准空白字符,如空格、进纸、换行符、回车、水平制表符或者垂直制表符,该函数返回true
    isupper()      如果参数是大写字母,该函数返回true
    isxdigit()       如果参数是十六进制的数字,即0~9、a~f、A~F,该函数返回true
    tolower()      如果参数是大写字符,则返回其小写,否则返回该参数
    toupper()     如果参数是小写字母,则返回其大写,否则返回该参数

    常用的有:

    tolower()——toupper()

    isupper()——islower()

    isalnum()——isalpha()

    展开全文
  • CType 函数

    千次阅读 2015-05-13 14:16:37
    原文:... CType 函数 返回表达式显式地转换为指定数据类型、对象、结构、类或接口后的结果。 CType(expression, typename) expressi
  • glibc ctype

    2012-11-29 20:42:34
    最近看了一下glibc,版本1.09.1。...ctype.h //实际上调用的都是__isctype #define isalnum(c) __isctype((c), _ISalnum) #define isalpha(c) __isctype((c), _ISalpha) #define iscntrl(c) __isc
  • 请问怎么使用循环语句在循环语句内调用ctype实现对控件的列举和调用的过程和代码的方式?怎么实现ctype在vb编程中实现列举调用控件?
  • ctype函数 PHP ctype_lower()函数 (PHP ctype_lower() function) ctype_lower() function is a character type (CType) function in PHP, it is used to check whether a given string contains lowercase ...
  • ctype函数 PHP ctype_xdigit()函数 (PHP ctype_xdigit() function) ctype_xdigit() function is a character type (CType) function in PHP, it is used to check whether a given string contains hexadecimal ...
  • ctype函数 PHP ctype_upper()函数 (PHP ctype_upper() function) ctype_upper() function is a character type (CType) function in PHP, it is used to check whether a given string contains all uppercase ...
  • ctype函数 PHP ctype_print()函数 (PHP ctype_print() function) ctype_print() function is a character type (CType) function in PHP, it is used to check whether a given string contains all printable ...
  • ctype函数 PHP ctype_punct()函数 (PHP ctype_punct() function) ctype_punct() function is a character type (CType) function in PHP, it is used to check whether a given string contains all punctuation ...
  • ctype函数 PHP ctype_graph()函数 (PHP ctype_graph() function) ctype_graph() function is a character type (CType) function in PHP, it is used to check whether a given string contains all printable ...
  • ctype函数 PHP ctype_alpha()函数 (PHP ctype_alpha() function) ctype_alpha() function is a character type (CType) function in PHP, it is used to check whether a given string contains only alphabets or ...
  • ctype函数 PHP ctype_cntrl()函数 (PHP ctype_cntrl() function) ctype_cntrl() function is a character type (CType) function in PHP, it is used to check whether a given string contains all control ...
  • ctype函数 PHP ctype_space()函数 (PHP ctype_space() function) ctype_space() function is a character type (CType) function in PHP, it is used to check whether a given string contains whitespace or not. ...
  • ctype_digit PHP ctype_digit()函数 (PHP ctype_digit() function) ctype_digit() function is a character type (CType) function in PHP, it is used to check whether a given string contains only digits or ...
  • 复制代码 代码如下:$str = “0.1123”;//检查字符串所有字符是否为数字echo “ctype_digit:” . ctype_digit($str); //空//检测是否为数字字符串,可为负数和小数echo “is_numberic:” . is_numeric($str); //1 从...
  • ctype.h

    千次阅读 2015-12-06 18:38:50
    在我们日常编写代码的时候可能会非常频繁地使用字符判断函数,如果自己写的话,又比较麻烦,而且说实话效率和安全性都不太高。经过多年的积累,C标准库纳入了关于字符处理、判断的头文件ctype.h。一个典型的文本处理...
  • 基于51单片机的字符函数ctype.h应用举例,内含仿真图和Keil工程文件。
  • 破译邮件ctype.h

    万次阅读 2019-10-26 15:40:17
    <ctype.h> // int main ( ) { int n ; scanf ( "%d" , & n ) ; getchar ( ) ; char str [ 101 ] ; while ( n -- ) { gets ( str ) ; for ( int i = 0 ; str [ i ] != '\0' ; i ++ ) {...
  • vb.net ctype用法

    2011-10-09 16:49:00
    CType函数是一个内联函数,这意味着转换是由已编译的代码执行的,通常不会生成函数调用,这将提高性能。 返回表达式显示地转换为指定的数据类型、对象、结构、类或接口后的结果。 CType(expression,typenam...
  • c标准库头文件ctype.h详解

    千次阅读 多人点赞 2018-11-15 15:19:56
    掌握越来越多的函数才会站在巨人的肩膀上思考问题,而不是自己去写代码去实现函数,自己又能写几个函数呢…… ctype.h是C标准函数库中的头文件,定义了一批C语言字符分类函数(C character classification ...
  • <ctype.h> C语言标准库

    千次阅读 2014-10-10 16:39:55
    ctype.h是C标准函数库中的头文件,定义了一批C语言字符分类函数(C character classification functions),用于测试字符是否属于特定的字符类别,如字母字符、控制字符等等 ctype.h的C标准库的头文件中...
  • 头文件ctype.h(详细)

    2021-04-17 15:46:49
    2、代码理解 #include<iostream> #include<algorithm> #include<ctype.h> #include<cstring> using namespace std; int main() { char str[1007]; cin>>str; int len = strlen...
  • 【重构】CType内联函数

    热门讨论 2015-06-07 21:52:37
    CType(expression, typename)  各部分说明 expression 任何有效的表达式。如果 expression 的值超出 typename 允许的范围,Visual Basic 将引发异常。 typename 任何在 Dim 语句的 As 子句内合法的表达式,即任何...
  • 用法:ctype_xdigit(string text)使用的参数:text :这是必填参数,用于指定测试的字符串。返回值:如果字符串的所有字符均为十六进制,则返回TRUE,否则返回FALSE。例子:Input : ABCDEF0123Out...
  • C语言 标准库ctype.h

    2020-07-13 10:23:22
    ctype.h> 简介 C 标准库的 ctype.h 头文件提供了一些函数,可用于测试和映射字符。 这些函数接受 int 作为参数,它的值必须是 EOF 或表示为一个无符号字符。 如果参数 c 满足描述的条件,则这些函数返回非零...
  • CType函数的使用

    2009-11-15 19:12:00
    这一切可以通过使用Ctype函数来实现,它允许我们使用类型对象的变量来使用早的捆绑方法调用:Module LateBind Public Sub DoSomething(obj As Object) CType(obj, TheClass).MyMethod() End Sub

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 31,123
精华内容 12,449
关键字:

代码ctype