快速入门系列-C语言字符串处理功能(1)

电脑杂谈  发布时间:2020-05-28 09:03:56  来源:网络整理

c语言如何定义字符串变量_c语言怎么定义字符串变量_c语言字符串个数

C语言中常用的C字符串操作函数,例如整体操作函数,例如计算字符串的长度,复制字符串,比较字符串等,还有字符串查询功能,也有字符串转换功能等等,这里首先介绍字符串的整体操作功能.

字符串的整体运算功能

在实际编程中,我们经常遇到诸如对字符串的整体控制之类的操作,例如长度测量函数strlen(),字符串复制函数strcpy()/ strncpy(),字符串比较函数strcmp()/ strncmp(),字符串串联函数strcat()/ strncat()等. 这些功能非常有用.

1,晕眩

原型: int strlen(const char * str)功能: 返回字符串的实际长度c语言字符串个数,不包括'\ 0'.

c语言字符串个数_c语言如何定义字符串变量_c语言怎么定义字符串变量

strlen不包含'\ 0'的原因是因为它在计数末尾遇到了'\ 0'.

注意: sizeof与strlen不同. 如前所述,sizeof不是函数,我们定义一个变量,使用sizeof计算定义的变量占用的内存大小,并且遇到'\ 0'时不会结束; strlen是测试字符字符串的实际长度. 如果char buf [100] =“ abc”;那么sizeof(buf)为100,strlen(buf)为3.

2,strcpy / strncpy

1,strcpy

c语言字符串个数_c语言怎么定义字符串变量_c语言如何定义字符串变量

原型: char * strcpy(char * dest,const char * src)函数: 将以src指向的'\ 0'结尾的字符串复制到dest(strncpy,这意味着仅复制前一个n)指向的数组. 值: 目标字符串的返回参数起始地址

应注意,strcpy()在遇到'\ 0'并且包含'\ 0'时将结束.

2,strncpy

原型: char * strncpy(char * dest,const char * src,size_t n)功能: 将参数src字符串的前n个字符复制到参数dest指向的地址中返回值: 返回参数的开头目标字符串地址

c语言字符串个数_c语言怎么定义字符串变量_c语言如何定义字符串变量

注意: strncpy()遇到'\ 0'的结尾,并且当数字n不足时将用'\ 0'填充. 如上例所示,将数组src中字符串的4个字节复制到数组dest,然后将dest结果打印为“ h”. 这是否意味着strncpy遇到“ \ 0”结尾?仅在这里解释是不够的c语言字符串个数,可能是strncpy或printf. 查看第二个输出,我们将分别输出dest中的元素: “ h 56789”,中间有3个空字符(即'\ 0'),显然,我们复制了4个字节,但是'e'和尚未复制'0'之后的'l',并且以下三个字节以空字符完成,这表明strncpy遇到'\ 0'的末尾并且数字n不足. 下次将用'\ 0'填充.

strcmp / strncmp

原型: int strcmp(char * str1,char * str2)函数: 比较str1和str2的大小;返回值: 返回0等于相等,str1大于str2返回1,str1小于str2返回-1;

对比ASICS代码表,可以看出'A'为65而'a'为97. 由于s1和s2相同,比较结果为0,s3大于s1,因此比较结果为1,并且s1小于s3,因此比较结果为-1.

c语言字符串个数_c语言怎么定义字符串变量_c语言如何定义字符串变量

strcat / strncat

原型: char * strcat(char * dest,const char * src)功能: 将参数src字符串复制到参数dest指向的字符串的末尾. 返回值: 返回参数dest的字符串起始地址

注意: 第一个参数dest必须具有足够的空间来容纳要复制的字符串. 如上例所示,s1不能写为char s1 [] =“ AAA”; 'A','A','A','\ 0'),如果将s2附加到s1的末尾,则会由于s1中的空间不足而发生错误.

好的,就是这样,有足够的时间来跟踪字符串查询功能和字符串转换功能了.


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-225040-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...