C语言库函数(strtok、strerror、tolower、toupper)

1.strtok

char* strtok ( char* str, const char* sep );

  • sep参数是个字符串,定义了用作分隔符的字符集合
  • 第一个参数指定一个字符串,它包含了0或多个由sep字符串中一个或多个分隔符分割的标记
  • strtok函数找到str中的下一个标记,并将其用\0结尾,返回一个指向这个标记的指针(注意:strtok函数会改变被操作的字符串,所以在使用strtok函数切分的字符串一般都是临时拷贝的内容并可以修改)
  • strtok函数的第一个参数不为NULL,函数将找到str中第一个标记,strtok函数将保存它在字符串中的位置。
  • strtok函数的第一个参数为NULL,函数将在同一个字符串中被保存的位置开始,查找下一个标记。
  • 如果字符串中不存在更多的标记,则返回NULL指针。

通过代码理解strtok函数的应用:

#include <stdio.h>

int main()
{
	char* p = "syy@000.ll";
	const char* sep = ".@"; //分隔符
	char arr[30];
	char* str = NULL;
	strcpy(arr, p); //将数据先拷贝一份,处理arr数组的内容
	for (str = strtok(arr, sep); str != NULL; str = strtok(NULL, sep))
	{
		printf("%s\n", str);
	}
	return 0;
}

运行结果:

 

2.strerror

char* strerror ( int errnum );

  •  返回错误码所对应的错误信息。

下面将用0-4来测试strerror函数返回的错误信息: 

 

通过读文件小案例来体现对strerror函数的应用: 

#include<stdio.h>
#include<string.h>
#include<errno.h>  //errno - C语言提供的全局的错误变量

int main()
{
	/*printf("%s\n", strerror(0));
	printf("%s\n", strerror(1));
	printf("%s\n", strerror(2));
	printf("%s\n", strerror(3));
	printf("%s\n", strerror(4));*/

	FILE* pf = fopen("test.txt", "r");
	if (pf == NULL)
	{
		perror(""); //打印的依然是errno变量中错误码对应的错误信息
		return 1;
	}

	//读文件
	fclose(pf);
	pf = NULL;

	return 0;
}

结果如下: 

注:perror(""); 与 printf("%s\n", strerror(errno));  同等效果。

3.字符大小写转换

  • tolower(将所有的大写字母转换为小写字母)
  • toupper(将所有的小写字母转换为大写字母)

 

首先判断下面代码是否为小写字母,如果是小写字母,将所有的小写字母全部转换为大写字母。

#include <ctype.h>
#include <ctype.h>
#include <stdio.h>
int main()
{
	char arr[] = "Are you ok?"; 
	char* p = arr; //定义p指针指向arr数组首元素地址
	while (*p)	//当遇到字符串中 \0 结束循环
	{
		if (islower(*p))  //是小写字母
		{
			*p = toupper(*p);
		}
		p++; //指针向后移动
	}
	printf("%s\n", arr);

	return 0;
}
  • 注:islower函数判断字符串中字母是否是小写字母 。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值