字符串分割
strtok函数是一个C标准库函数,用于将字符串分割成子字符串。它接受两个参数:被分割的字符串和分隔符字符串。函数在第一次调用时返回被分割的字符串中的第一个子字符串,以后每次调用都返回剩余的子字符串,直到字符串被完全分割。
所在头文件:#include <string.h>
函数原型:char *strtok(char *str, const char *delim)
- str:被分割的字符串,在第一次调用时传入被分割的字符串,以后传入NULL。
- delim:分隔符字符串,用于标识子字符串的分隔位置
通过上边的讲解下面通过一段代码来展示字符串分割是如何使用的
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
char arr7[] = "zpengwei@yeah.net";
char copy[20];
strcpy(copy,arr7);//使用strtok,前记得创建临时字符串空间,在临时空间上操作
char sep[] = "@.";
//char* ret2=strtok(copy,sep);第一次访问临时字符串sep中第一个分隔符前面的字符串
//printf("%s\n",ret2);
//ret2=strtok(NULL,sep);第二次访问第一个分隔符和第二个分隔符之间的字符串
//printf("%s\n",ret2);
//ret2=strtok(NULL,sep);第三次访问第二个分隔符和第三个分隔符之间的字符串
//printf("%s\n",ret2);
//这样一次一次写太麻烦了,写一个简便的使用方法
char* ret2 = NULL;
// 开始获取 执行条件 每次获取
for (ret2 = strtok(copy, sep); ret2 != NULL; ret2 = strtok(NULL, sep))
{
printf("%s\n",ret2);
}
return 0;
}
字符串错误码
库函数在执行的时候,发生了错位,会将一个错误码存放errno这个变量中,errno是c语言提供的一个全局的变量,类似于打开浏览器报404,用于程序逻辑发生错误时,给与提示信息告诉是哪里错误的。下面通过一段代码介绍字符串错误码的使用
int main()
{
//c语言中可以操作文件
// 操作文件的步骤
//1.打开文件
//2.读/写
//3.关闭文件
//打开文件
FILE* pf = fopen("data.txt","r");
if(pf==NULL)
{
//这里的strerror(errno)就是错误码提示,这种是事先别人写好的
printf("fopen: %s\n",strerror(errno));
//这个也可以错误提示,只不过“”号直接的提示信息是自己写的
perror("fopen");
return 0;
}
//读文件
//....
//关闭文件
//fclose(pf);
return 0;
}