strstr、strtok、strerror函数的介绍与使用

本文介绍了C语言中三个重要的字符串处理函数:strstr用于搜索字符串中指定子串的首次出现,返回匹配部分或false;strtok按指定分隔符切割字符串,改变原字符串并返回标记指针,连续调用可获取所有标记;strerror则根据错误码返回对应的错误信息。通过实例讲解了这三个函数的具体使用方法。
摘要由CSDN通过智能技术生成

strstr

  • 函数搜索一个字符串在另一个字符串中的第一次出现。
  • 该函数返回字符串的其余部分。
  • 如果未找到所搜索的字符串,则返回 false。
char * strstr ( const char *, const char * );

就举栗子说明问题吧

#include<stdio.h>
#include<windows.h>
int main()
{
	char str[] = "this is a simple string";
	char *ph;
	ph = strstr(str, "simple");
	strncpy(ph, "sample", 6);
	puts(ph);
	system("pause");
	return 0;
}

在这里插入图片描述

strtok

char * strtok ( char * str, const char * sep ); 
  • sep参数是个字符串,定义了用作分隔符的字符集合
  • 第一个参数指定一个字符串,它包含了0个或者多个由sep字符串中一个或者多个分隔符分割的标记。
  • strtok函数找到str中的下一个标记,并将其用 \0 结尾,返回一个指向这个标记的指针。(注:strtok函数会 改变被操作的字符串,所以在使用strtok函数切分的字符串一般都是临时拷贝的内容并且可修改。&#
引用\[1\]:头文件中给出了一个与strstr类似的函数的用法示例,该函数是strncpy。strncpy函数的原型为char *strncpy(char *dest, const char *src, size_t n),它用于将src字符串的前n个字符复制到dest字符串中。如果src字符串的长度小于n,则在复制完src字符串后,dest字符串的剩余部分将用空字符填充。如果src字符串的长度大于等于n,则只会复制前n个字符。该函数返回指向dest字符串的指针。\[1\] 引用\[3\]:另外一个与strstr类似的函数是strcasestr。strcasestr函数的原型为char *strcasestr(const char *haystack, const char *needle),它用于在haystack字符串中查找第一次出现的needle字符串,不区分大小写。如果找到了needle字符串,则返回指向该位置的指针;如果未找到,则返回NULL。\[3\] 因此,与strstr类似的函数有strncpy和strcasestr。strncpy用于复制字符串的一部分,而strcasestr用于在字符串中查找子串,不区分大小写。 #### 引用[.reference_title] - *1* *2* [strstr函数详解 看这一篇就够了-C语言(函数讲解、函数实现、使用用法举例、作用、自己实现函数 )](https://blog.csdn.net/m0_65601072/article/details/125901220)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [C语言 strstr函数的用法及模拟实现strstr函数](https://blog.csdn.net/weixin_62677583/article/details/121353929)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值