strtok函数详解([C++]当分割符为多个空格时,如何使用strtok函数将字符串分割)
![strtok函数详解([C++]当分割符为多个空格时,如何使用strtok函数将字符串分割)](/static/images/content_image/jellyfish-2427426_1920.jpg)
本文目录
[C++]当分割符为多个空格时,如何使用strtok函数将字符串分割
strtok 函数可以定义多个分隔符,“多个”指几个品种,例如空白与逗号分号:
strtok(code, " ,;");
即空白是分隔符,逗号是分隔符,分号也是分隔符,不是说“空白逗号分号”3个符号组合为一个分隔符。
所以strtok 函数,你写了3个空白,实际上定义的分隔符是1个空白。
分割符为多个空格时你可以自己写函数,用循环语句一个字符一个字符地检查,连续遇到3个空白,把第3个空白换成逗号。然后用strtok(code, ","); 处里即可。
C++的函数strtok()中的NULL是什么意思
在MSDN中查到它的用法,如下:// crt_strtok.c// compile with: /W3// In this program, a loop uses strtok// to print all the tokens (separated by commas// or blanks) in the string named "string".//#include 《string.h》#include 《stdio.h》char string = " ,/t/n";char *token;int main( void ){ printf( "Tokens:/n" ); // Establish string and get the first token: token = strtok( string, seps ); // C4996 // Note: strtok is deprecated; consider using strtok_s instead while( token != NULL ) { // While there are tokens in "string" printf( " %s/n", token ); // Get next token: token = strtok( NULL, seps ); // C4996 }} 输出结果:Tokens: A string of tokens and some more tokens 这个函数的用途是把一个字符串按照seps中指定的符号进行分割,就如同perl中的split()函数。但是,为什么strtok(NULL,seps)中的第一个参数是NULL呢?太奇怪了。
strtok_r的介绍
strtok_r()函数用于分割字符串。strtok_r是linux平台下的strtok函数的线程安全版。windows的string.h中并不包含它。
![strtok函数详解([C++]当分割符为多个空格时,如何使用strtok函数将字符串分割)](/static/images/content_image/coffee-2714970_1920.jpg)
更多文章:
sqlite格式的视频怎么打开(.sqlite是什么文件,用什么工具打开)
2026年11月7日 05:30
element ui面试题(用element-ui ELDialog和ELTable遇见的坑)
2026年11月7日 04:40
中文自动翻译成英语的输入法(有没有一种输入法能将打出来的中文自动变成英文)
2026年11月7日 02:10
equals to(为什么有些英文句子要用的是“equals to that of” 这个that和of之间还可以加名词吗)
2026年11月7日 01:50
default values(电脑开机后出现all settings was reset to default values.)
2026年11月7日 01:20
structured reviewing翻译(软件测试的英文翻译)
2026年11月7日 00:50






