开发手册 欢迎您!
软件开发者资料库

C语言字符串处理函数 strtok() 和 atoi() 的使用

字符串函数(String processing function)也叫字符串处理函数,指的是编程语言中用来进行字符串处理的函数。本文主要介绍 C语言中符串处理函数 strtok()和atoi()的区别使用方法,以及相关的示例代码。

1、strtok()

将字符串分割成一个个片段。当 strtok()在参数 s 的字符串中发现参数 delim 中包含 的分割字符时, 则会将该字符改为\0 字符,当连续出现多个时只替换第一个为\0。代码如下,

#include#include#includeint main(){/*char *strtok(char s[], const char *delim); 参数str:指向欲分割的字符串delim:为分割字符串中包含的所有字符返回值成功:分割后字符串首地址失败:NULL第一次调用时:strtok()必需给予参数 s 字符串之后的调用则将参数 s 设置成 NULL,每次调用成功则返回指向被分割出片 段的指针*/    char str[80] = "CJP1415/2021-2-14 9:15/30.0C";     const char s[2] = "/";     char *token;     char *SN;     char *datime;     char *temper;           token = strtok(str, s);     SN = token;     if(token!=NULL)   {     token = strtok(NULL, s);     datime = token;          }   if(token!=NULL)   {     token = strtok(NULL, s);     temper = token;    }     printf( "%s\n", SN );     printf("%s\n", datime);     printf("%s\n", temper);    return(0);}

2、atoi()

atoi()会扫描 nptr 字符串,跳过前面的空格字符,直到遇到数字或正负号才开始做转 换,而遇到非数字或字符串结束符(’\0’)才结束转换,并将结果返回返回值。代码如下,

#include #include int main (){/*int atoi(const char *nptr); 参数nptr:待转换的字符串返回值成功转换后整数,如转换的字符串不为数字或为空字符串,则返回0*/    char *ptr1 = "-12345.12";    char *ptr2 = "+1234w34";    char *ptr3 = "   456er12";    char *ptr4 = "789 123";    int a,b,c,d;    a = atoi(ptr1);    b = atoi(ptr2);    c = atoi(ptr3);    d = atoi(ptr4);    printf("a = %d, b = %d, c = %d, d = %d\n", a,b,c,d);    return 0;}