c语言中的小小白-CSDN博客c语言中的小小白关注算法,c++,c语言,贪心算法,链表,mysql,动态规划,后端,线性回归,数据结构,排序算法领域.https://blog.csdn.net/bhbcdxb123?spm=1001.2014.3001.5343
给大家分享一句我很喜欢我话:
知不足而奋进,望远山而前行!!!
铁铁们,成功的路上必然是孤独且艰难的,但是我们不可以放弃,远山就在前方,但我们能力仍然不足,所有我们更要奋进前行!!!
今天我们更新了strtok和strerror函数使用的内容,
🎉 欢迎大家关注🔍点赞👍收藏⭐️留言📝
一、strtok函数的使用
char * strtok ( char * str, const char * sep); char * strtok ( char * str, const char * sep);
我们先来看一下strtok函数的形式,是char*类型的,下面我们来介绍一下他的作用:
只看这些这些概念还是显得有些抽象,下面我们来举一些例子来说明他的作用:
#include <stdio.h>
#include <string.h>
int main()
{
char arr[] = "192.168.6.111";
char* sep = ".";
char* str = NULL;
for (str = strtok(arr, sep); str != NULL; str = strtok(NULL, sep))
{
printf("%s\n", str);
}
return 0;
}
我们来看一下这串代码,这串代码的作用是将给定的192.168.6.111以.为分割线分别打印字符串,看这串代码之前,我们先来看一下strtok函数,其实他的作用呢
就是传过去一串代码,传过去一个sep参数,sep参数的就是指一个用于分割的东西,在这串代码中就是指的那个.,然后我们再来看这串代码,思路就是我们先创建了一个字符串,然后创建sep标记,然后用一个for循环,for循环中,第一个是str,str就是一次分割之后传回来的字符串,然后我们打印他,然后str只要不等于NULL(空指针),这个循环就会继续,然后str再次进行strtok分割,最后分割完成。
接下来就会打印出我们想要的效果;
二、strerror函数的使用
char* strerror( int errnum );
我们先来看一下这个字符串函数的作用:
下面我们来看一串代码:
int main()
{
for (int i = 0; i <= 10; i++)
{
printf("%d: %s\n", i, strerror(i));
}
return 0;
}
这串代码的作用是用来打印0-10的错误码,下面我们运行一下试试:
我们便可以得到这些数的错误信息。
当我们了解到之后,我来教大家如何去验证它:
但这里会涉及一些我们后面才会学到的知识。
#include<errno.h>
int main()
{
FILE*pf = fopen("test.txt", "r");
//fopen以读的形式打开文件时,如果文件不存在,就会打开失败
if (pf == NULL)
{
printf("%s\n", strerror(errno));
return 1;
}
fclose(pf);
return 0;
}
看这串代码,我们打算打开一个文件test.txt,但是我们的文件夹里边没有这个文件,所以肯定会打开失败,那么失败的=时使用strerroer便会得到打开失败的原因:
便会这样,没有这个文件。
#include<errno.h>
int main()
{
FILE*pf = fopen("test.txt", "r");//这里是打开文件并且读文件的意思
//fopen以读的形式打开文件时,如果文件不存在,就会打开失败
if (pf == NULL)
{
perror("the cause of faliure: ");
return 1;
}
fclose(pf);//关闭文件。
return 0;
}
在看这个代码,我们使用perror,这个也可以显示错误信息,并且加上一个自己输入的字符串
就像这样。perror就像但与printf加上一个error。
总结:
总的来说,strtok函数和strerror函数都是在C语言中常用的字符串处理函数。strtok函数用于字符串的分割,而strerror函数用于获取错误信息字符串。使用这两个函数可以方便地进行字符串处理和错误处理,提高程序的可读性和可靠性。