当前位置: 首页 > 编程笔记 >

C语言中“不受限制”的字符串函数总结

祁英哲
2023-03-14
本文向大家介绍C语言中“不受限制”的字符串函数总结,包括了C语言中“不受限制”的字符串函数总结的使用技巧和注意事项,需要的朋友参考一下

“不受限制的“字符串函数

按《C和指针》中所说,那些常用的字符串函数都是“不是限制的”,就是说它们只能通过寻找字符串末尾的NULL来判断字符串的长度。

strlen

strlen函数用于求解字符串长度,其返回类型为unsigned int(即size_t)。strlen函数从起点开始,往后计数,遇到‘\0'停止。
值得注意的是:strlen函数的返回类型。看如下代码:

#include<string.h>
#include<iostream>
using namespace std;

int main()
{
	if ((strlen("abc") - strlen("abcdef")) > 0)
		cout << "大于" << endl;
	else
		cout << "小于" << endl;

	return 0;
}

输出 : 大于。不必惊奇,函数的size_t(-3)是一个正数。

strcpy

strcpy函数是字符串拷贝函数

函数原型为:

需要注意:目标字符串是要可以更改的,空间要大,足够存放拷贝的源字符串。

拷贝过程中,函数将源字符串的‘\0'一起拷贝到目标中。

#include<string>
#include<iostream>
using namespace std;
int main()
{
	char arr[20] = "abcdefgh******";
	char* p = "hello world";
	strcpy(arr, p);
	cout << arr << endl;
	return 0;
}

strcmp

strcmp函数为字符串比较函数。比较的不是字符串的长度,而是对应字符的ASCII值。

返回类型为:

#include<string>
#include<iostream>
using namespace std;
int main()
{
	char arr[] = "abcde";
	char p[] = "abde";
	cout << strcmp(arr,p) << endl;

	return 0;
}

strcat

strcat函数为字符串追加函数。函数原型:

将源字符串追加到目标字符串上。

int main()
{
	char arr[20] = "abcde ";
	char p[] = "hello";
	cout << strcat(arr, p) << endl;

	return 0;
}

strstr

strstr为字符串查找函数。函数原型为:

在目标字符串中查找子字符串,找的则返回指向子字符串的指针,否则返回空指针。

int main()
{
	char arr[] = "hello, how are you ?";
	char p[] = "are";
	cout << strstr(arr, p) << endl;

	return 0;
}

结果为:are you ?

strtok

strtok函数为字符串分隔函数。函数原型为:

strDelimit为字符串,定义了分隔字符的集合。函数执行是遇到分割字符时,将它改为‘\0',范围一个指向这个标记的指针。注意:strtok函数执行时修改了字符串的内容。

int main()
{
	char str[] = "hello,how are you ?";
	char * p;
	p = strtok(str, ",?");
	while (p != NULL)
	{
		printf("%s\n", p);
		p = strtok(NULL, ",?");
	}
	return 0;
}

strerror

strerror函数的作用:返回错误码对应的信息。函数原型为

使用时要包含#include<errno.h>

小结

这些“不受限制的”的字符串函数,在执行过程中,函数本身要寻找字符串结尾的'\0'来作为结束执行标志。如果找不到'\0',这函数执行可能就会越界,得不到正确的结果。

到此这篇关于C语言中“不受限制”的字符串函数的文章就介绍到这了,更多相关C语言不受限制字符串函数内容请搜索小牛知识库以前的文章或继续浏览下面的相关文章希望大家以后多多支持小牛知识库!

 类似资料:
  • C 语言中的字符串虽然不是一种独立的数据类型,但是这并不影响其重要地位,所以在 C 语言中会有一些专门针对字符串的函数。 1. 字符串函数 字符串函数是专门用来进行字符串操作的。C 语言提供了一个标准的函数库 string.h 。在这个函数库中大致存在了 22 个字符串的函数。我们这里所介绍的字符串函数是来自于这个标准函数库中比较常用的的一部分函数。除了这个函数库,还会有第三方的函数库提供的字符串

  • 主要内容:字符串连接函数 strcat(),字符串复制函数 strcpy(),字符串比较函数 strcmp()C语言提供了丰富的字符串处理函数,可以对字符串进行输入、输出、合并、修改、比较、转换、复制、搜索等操作,使用这些现成的函数可以大大减轻我们的编程负担。 用于输入输出的字符串函数,例如 、 、 、 等,使用时要包含头文件 ,而使用其它字符串函数要包含头文件 。 是一个专门用来处理字符串的头文件,它包含了很多字符串处理函数,由于篇幅限制,本节只能讲解几个常用的,有兴趣的读者请 猛击这里查阅所

  • 在前面 C 语言的变量类型中介绍过 C 语言中的变量类型。不知道大家有没有注意到,在 C 语言中有字符类型的变量,但是没有其他编程语言中经常出现的字符串类型,在 JAVA 或者 C# 中用 string 这个关键字来声明其类型。但是在 C 语言中是没有这个变量类型的。 1. 字符串 在 C 语言中定义的字符串是一个由字符组成的数组,这个数组的最后一个元素是一个表示空的字符 。 字符串 abcde

  • 主要内容:字符串结束标志(划重点),字符串长度用来存放字符的数组称为 字符数组,例如: 字符数组实际上是一系列字符的集合,也就是 字符串(String)。在C语言中,没有专门的字符串变量,没有string类型,通常就用一个字符数组来存放一个字符串。 C语言规定,可以将字符串直接赋值给字符数组,例如: 数组第 0 个元素为 ,第 1 个元素为 ,第 2 个元素为 ,后面的元素以此类推。 为了方便,你也可以不指定数组长度,从而写作: 给字符数组赋

  • 本文向大家介绍详解C语言中的字符串数组,包括了详解C语言中的字符串数组的使用技巧和注意事项,需要的朋友参考一下 在C语言当中,字符串数组可以使用: char a[] [10]; 或者 char *a[]; 表示 第一种表示方式固定了每个字符串的最大大小。第二种没有字符串的大小限制。 总结 以上所述是小编给大家介绍的C语言中的字符串数组,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回

  • 本文向大家介绍浅谈C语言之字符串处理函数,包括了浅谈C语言之字符串处理函数的使用技巧和注意事项,需要的朋友参考一下 下面介绍8种基本的常用的字符串处理函数,在数值数组中也常常用到(部分函数)。所有的C语言编译系统中一般都提供这些函数。 1、puts函数——输出字符串的函数  一般的形式为puts(字符串组) 作用:将一个字符串输出到终端。如,char一个string,并赋予初值。调用puts(st