strtok函数详解([C++]当分割符为多个空格时,如何使用strtok函数将字符串分割)
![strtok函数详解([C++]当分割符为多个空格时,如何使用strtok函数将字符串分割)](/static/images/content_image/infant-3109433_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/interior-2685521_1920.jpg)
更多文章:
frameset翻译(求css样式里 “规则定义”的 英语翻译)
2026年10月20日 13:00
自学php培训(IT培训分享零基础学习PHP开发有什么方法吗)
2026年10月20日 12:10
strtok函数详解([C++]当分割符为多个空格时,如何使用strtok函数将字符串分割)
2026年10月20日 11:50
以下关于UML部署图的叙述中,正确的是( )?关于uml部署图的描述
2026年10月20日 11:40
php的服务器下载(php中点击超链接下载服务器端的文件怎么实现,以下代码有误)
2026年10月20日 10:40
selected反义词(抓点 [zhuā diǎn]什么意思近义词和反义词是什么英文翻译是什么)
2026年10月20日 10:30
javascript简易购物车(JavaScript根据这个代码,做出购物车里减一个数量的效果,跪求!我实在不会!)
2026年10月20日 10:20
simulink二极管在哪(simulink中续流二极管怎么找)
2026年10月20日 09:50




