日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

函数 —— strtok() 例如:按照字符拆分字符串,放入新定义的数组中;按照字符拆分字符串,放入原先的数组中

發(fā)布時(shí)間:2025/10/17 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 函数 —— strtok() 例如:按照字符拆分字符串,放入新定义的数组中;按照字符拆分字符串,放入原先的数组中 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

問(wèn)題描述:

原始數(shù)組:char str[80] = "This is - aa bb - cc - dd";

新定義的數(shù)組:??? ?char newstr[80]= ?{0};

分割符號(hào):?? ?const char s[2] = "-";

1、把原始數(shù)組中的字符串str,按照分割符號(hào)“-”,拆分后,再重組,放入新定義的數(shù)組newstr中:

? ? ?即:把 str , 按照“-”符號(hào)規(guī)則 分割,重組后放入newstr

#include <string.h> #include <stdio.h> int main() {char str[80] = "This is - aa bb - cc - dd";const char s[2] = "-";printf("str=%s\n",str);char *token = (strtok(str,s));char cont[80]= {0};char newstr[80]= {0};while(token){sprintf(cont,"%s",token);printf("count=%s\n",token);token = strtok(NULL,s);strcat(newstr,cont);}printf("newstr=%s\n",newstr);return 0; } 執(zhí)行結(jié)果
str=This is - aa bb - cc - dd
count=This is?
count= aa bb?
count= cc?
count= dd
newstr=This is ?aa bb ?cc ?dd

2、把原始數(shù)組中的字符串str,按照分割符號(hào)“-”,拆分后,再重組,放入原始的數(shù)組str中:

? ? ?即:把 str , 按照“-”符號(hào)規(guī)則 分割,重組后放入str

#include <string.h> #include <stdio.h> int main() {char str[80] = "This is - aa bb - cc - dd";const char s[2] = "-";char cont[80]= {0};char ss[80]= {0};char *token = (strtok(str,s));while(token){sprintf(cont,"%s",token);printf("count = %s\n",token);token = strtok(NULL,s);strcat(ss,cont);}printf("ss = %s\n",ss);printf("str = %s\n",str);memset(str,0,strlen(str));//strcat(str,ss); sprintf(str,"%s",ss); //或者printf("after strcat str = %s\n",str);return 0; }

執(zhí)行結(jié)果

count = This is?
count = ?aa bb?
count = ?cc?
count = ?dd
ss = This is ?aa bb ?cc ?dd
str = This is?
after strcat str = This is ?aa bb ?cc ?dd

3、分割字符串的兩種方式

strtok() :

分解字符串為一組字符串。s為要分解的字符串,delim為分隔符字符串。

例如:

#include<stdio.h>#include<string.h>int main(void){char buf[]="hello@boy@this@is@heima";char*temp = strtok(buf,"@");while(temp){printf("%s ",temp);temp = strtok(NULL,"@");}return0;}

執(zhí)行結(jié)果:? ? ? ?

hello

boy

this

is

heima

#include<stdio.h>#include<string.h>int main(void){char buf[]="hello@boy@this@is@heima";char*temp = strtok(buf,"@");printf("%s ",temp);while((temp = strtok(NULL,"@"))){printf("%s ",temp);}return0;}

執(zhí)行結(jié)果:

?hello

boy

this

is

heima

總結(jié)

以上是生活随笔為你收集整理的函数 —— strtok() 例如:按照字符拆分字符串,放入新定义的数组中;按照字符拆分字符串,放入原先的数组中的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。