C语言字符串
C语言编程中的字符串实际上是一个一维是由一个空字符'\0'终止的字符数组。因此,一个空值终止字符串包含包括字符串后跟空(null)字符。
下面的声明和初始化创建由单词“Hello”的字符串。要在数组的末尾加上空(null)字符,包含字符串的字符数组的大小,实际比在单词“Hello”的数量多了一个。
char greeting[6] = {'H', 'e', 'l', 'l', 'o', '\0'};
如果按照数组初始化的规则,那么可以写上述声明如下:
char greeting[] = "Hello";
以下是上述定义串的在存储器演示在 C/C++:
其实,不需要放置空(null)字符在字符串常量的结尾。 C语言编译器自动将'\0'放在字符串的结尾,当它初始化数组。让我们尝试打印提到上面的字符串:
#includeint main () { char greeting[6] = {'H', 'e', 'l', 'l', 'o', '\0'}; printf("Greeting message: %s", greeting ); return 0; }
当上述代码被编译和执行时,它会产生一些结果如下:
Greeting message: Hello
C语言支持多种用来操作空值终止字符串的函数:
S.N. | 函数及用途 |
---|---|
1 |
strcpy(s1, s2); 复制字符串s2到字符串s1 |
2 |
strcat(s1, s2); 连接字符串s2到字符串s1的末尾 |
3 |
strlen(s1); 返回字符串s1的长度 |
4 |
strcmp(s1, s2); 返回值为0,s1和s2是相同的; 如果s1 |
5 |
strchr(s1, ch); 返回一个指针,指向字符串s1中第一次出现字符ch位置 |
6 |
strstr(s1, s2); 返回一个指针,指向字符串s1中第一次出现的字符串s2位置 |
下面的例子是利用小部分上述函数功能:
#include#include int main () { char str1[12] = "Hello"; char str2[12] = "World"; char str3[12]; int len ; /* copy str1 into str3 */ strcpy(str3, str1); printf("strcpy( str3, str1) : %s", str3 ); /* concatenates str1 and str2 */ strcat( str1, str2); printf("strcat( str1, str2): %s", str1 ); /* total lenghth of str1 after concatenation */ len = strlen(str1); printf("strlen(str1) : %d", len ); return 0; }
当上述代码被编译和执行时,它会产生一些结果如下:
strcpy( str3, str1) : Hello strcat( str1, str2): HelloWorld strlen(str1) : 10
可以找到C语言字符串相关的函数在C语言标准库的完整列表
本站文章除注明转载外,均为本站原创或编译
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创优秀实例教程
转载请注明:文章转载自:代码驿站 [http:/www.codeinn.net]
本文标题:C语言字符串
本文地址:http://www.codeinn.net/c/361.html
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创优秀实例教程
转载请注明:文章转载自:代码驿站 [http:/www.codeinn.net]
本文标题:C语言字符串
本文地址:http://www.codeinn.net/c/361.html