开始与C字符串
在C语言中,a细绳只是一个字符数组,其长度由一个空终止字符"决定。其他编程语言如Java和c#有字符串数据类型,但C没有。要在C中使用它们,需要将它们视为数组中的字符。
C语言编程概述
C语言一直是最常用的编程语言之一。它是一种通用编程语言,具有用于结构化编程和命令语言。它是一种过程性语言,设计用于直接编译以提供对内存的低级访问。
C.中的字符串
C的字符串数据类型真的不是一个字符串数据类型。而是基本数据类型字符被用在数组.假设你有一个有6个字符的字符串“sample”。在C语言中,它只是一个包含字符' s ', ' a ', ' m ', ' p ', ' l ', ' e '的数组。
宣言
在C编程中,初始化字符串,可以在多种方式完成:
char[] =“样本”;
首先,将数据类型声明为char,然后为变量命名。您将方括号保留为空,因为您正在初始化等号另一边的值,然后由等号决定长度。使用双引号(")表示字符串中的所有字符都是字符串的一部分。
char s[6] =“样本”;
基本上和上面的一样,但是这里你显式地声明字符串的长度,把6放在括号里。
c char[] ={‘s’,‘‘,‘米’,‘p’,‘l’,‘e’,”}
在上面的例子中,使用了单引号(')。但在此过程中,需要分隔每个字符,并在每个引号对中只包含一个字符。括号再次为空,让初始化的值确定长度。
字符c[6] ={‘s’,‘“,‘米’,‘p’,‘l’,‘e’,”}
同样,与上面使用单引号的例子相同,但是这个有字符数组长度的显式声明
阅读C字符串
字符串并不总是像前面的例子那样预先初始化。如果它们需要来自用户呢?要读取字符串作为用户输入,使用以下代码:
char [20];scanf(“% s”,年代);
首先,声明字符串变量并给它一个大小。然后,使用scanf函数。在scanf()函数中,使用' %s '表示将接受的值是一个字符串。在此之后,添加变量(' s '),您将在其中存储来自用户输入的值。
但是,请记住,SCANF函数在其自己的函数上只会在任何空格之前读取字符。如果您键入字符串“这是一个示例,则唯一要存储在变量中的文本年代将是“这个”。
要读取整行文本,可以使用预定义函数gets()。
Char样本[30];printf(“输入示例文本:”);得到(样本);
打印C字符串
要在C中显示字符串,您所要做的就是在PrintF()函数中使用转换规范'%s'。
printf(“样本:%s”,样本);
gets()函数还有一个与printf()函数对应的函数,即puts()函数。
printf("示例:");把(样本);
字符串处理函数
字符串并不总是简单地初始化或读取。有时,程序员需要根据解决的问题来操纵字符串的值。字符串操作实际上可以手动完成。但是,这对程序员来说是非常繁琐的工作。由于此任务对许多C程序非常常见,因此已创建一个库以使字符串处理更方便,高效。
在C编程中,您将首先需要包含<“String.h”>库以利用字符串处理功能,以帮助您轻松检查和操作C字符串。所述图书馆中的方法包括:
strlen ()- 此方法返回字符串的长度。它接受字符串作为参数,并返回字符数组大小的长度。
Int length = strlen(“样本”);
strcpy()- 此方法将字符串复制到另一个字符串中。第一个参数(String1)是要从第二个参数复制的字符串的目标(String2)。
strcpy (string1 string2相等);
strcat ()- 这是字符串连接方法。连接意味着加入2个字符串。第二个参数将被添加到第一个参数。
strcat(@“冥界”、“lo”);//最后一个字符串是" Hello "
Strcmp()- 此方法将传输作为其参数的字符串进行比较。它返回一个整数值,表示字符串文字的差异。
Int comp = strcmp(string1,string2);
如果返回的值为1,则String1的内容大于String2的内容。如果值为-1,则String2的内容大于String1。但如果值为0,则String1和String2中的字符串是相等的.
Strlwr()- 此方法将给定字符串转换为小写。
strlwr(string1);
如果string1的值是" HELLO ",在它被传递给strlwr()方法后,它的值将变成" HELLO "。该方法的工作方式是为字符串中的每个字符调用tolower()。
strupr ()-此方法与strlwr方法相反。它将文本转换为大写字符串,而不是将文本转换为小写。
strupr (string1);
在这种情况下,如果string1的值是" hello ", strupr()方法会将其转换为" hello "。
有许多其他C字符串库方法可以选择使用C编程语言需要完成的不同任务。如果您正在研究需要较低的字符串和内存操作级别的复杂问题,请始终记住C中的字符串仅限数组字符数据和这些字符可以与任何其他数据阵列相同的方式处理。