C字符串分割、字符串错误码的使用

本文介绍了C语言中的strtok函数,用于将字符串按照指定分隔符分割,并演示了如何使用strtok进行字符串处理。同时,讲述了如何通过errno和strerror或perror获取并处理字符串错误码。
摘要由CSDN通过智能技术生成

字符串分割

        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;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

foreverInDebug Hou

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值