当前位置:首页 >> 数学 >>

使用strtok


下面的代码从含有多个结束符的字符串中分离出单词来,需要对 strtok_s 有清楚的认识。 这段代码是我在写一个处理文件中单词个数时用来分离读取到的字符串中的单词时写的, 亲 测可用~

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27

/>void ParseBuffer(CWordCounter *pCounter, CWordBuffer *buf) { char *strSrc = buf->m_buff; 块首地址 char *strDelim = " \r\t\n"; 中单词之间的分隔符 char *strToken = NULL; 指向将被处理的单词 char *next_token = NULL; 存缓冲块中下一个将被读取的单词的位置 //保 // //缓冲块 //缓冲

string str; 存分离出来的单词 int nWordTotalInBytes = buf->m_nWordLengthInBytes; //需要被处理的单词总字节数 //保

strToken = strtok_s(strSrc, strDelim, &next_token);

while (1) { while (NULL != strToken) { str.assign(strToken); pCounter->InsertItem(str); strToken = strtok_s(NULL, strDelim, &next_token); }//退出循环表示该部分单词分析的时候遇到了

28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47

NULL 结束符,继续分离缓冲块中剩下的字符

if ((next_token+2) > (strSrc+nWordTotalInBytes)) 下,不然很容易出错! {//移动位置超过了最后一个有效字符 break; } //这里最好自己用笔画一

//移动到下一个开始扫描的字符 while ( ((next_token+1) < (strSrc+nWordTotalInBytes)) //没有超过最后一个有效字符 && !sw::IsLetter(*next_token)) { ++next_token; //++nWordProcessedInBytes; }

if ((next_token+2) > (strSrc+nWordTotalInBytes)) {//移动位置超过了最后一个有效字符 break; }

strToken = strtok_s(next_token, strDelim, &next_token); if ((next_token+2) > (strSrc+nWordTotalInBytes) || (NULL == strToken)) {//移动位置超过了最后一个有效字符,或者位置 内容为 null

break; } } }

在设置过滤字符的时候注意下(这是我在实际中犯的错误),在过滤文本中的字符时最好加 上:'\r'(回车)! 分类: C/C++


相关文章:
使用strtok函数从一个字符窜中分离出单词
使用strtok函数从一个字符窜中分离出单词_英语学习_外语学习_教育专区。使用strtok函数从一个字符窜中分离出单词 使用strtok_s 函数从一个字符串中分离出单词 下面...
使用strtok_s函数从一个字符串中分离出单词
使用strtok_s 函数从一个字符串中分离出单词下面的代码从含有多个结束符的字符串中分离出单词来,需要对 strtok_s 有清 楚的认识。 1 void ParseBuffer(CWord...
使用strtok_s函数从一个字符串中分离出单词
使用strtok_s函数从一个字符串中分离出单词_数学_高中教育_教育专区。下面的代码从含有多个结束符的字符串中分离出单词来,需要对 strtok_s 有清楚的认识。 这段...
使用strtok_s函数从一个字符串中分离出单词
使用strtok_s 函数从一个字符串中分离出单词 下面的代码从含有多个结束符的字符串中分离出单词来,需要对 strtok_s 有清楚的认识。这 段代码是我在写一个处理...
在C逗号分离使用strtok:如何处理CSV文件
在C 逗号分离使用 strtok:如何处理 CSV 文件 一种常见的程序之间的数据共享格式是 CSV(否则为逗号分隔值)文件。这些可以很容 易地处理使用 string.h 中的 C ...
strtok与strsep函数说明
使用 strtok 函数会破坏被分解字符串的完整, 调用前和调用后的 s 已经不一样了。 如果要保 持原字符串的完整,可以使用 strchr 和 sscanf 的组合等。 c 1 2...
c语言字符串函数使用
; char *p; p=strtok(a,","); puts(p); p=strtok(NULL,","); puts(p); p=strtok(NULL,"."); puts(p); } 当第一个使用 strtok(a,”,”);...
C语言分割字符串函数
C 语言分割字符串函数 strtok 在编程过程中,有时需要对字符串进行分割.而有效使用这些字符串分隔函数将会给我们带 来很多的便利. 下面我将在 MSDN 中学到的 ...
字符串操作
char *strtok(char *str1, char *str2); 程序例: #i nclude <string.h>...使用一键分享,轻松赚取财富值, 了解详情 嵌入播放器: 普通尺寸(450*500pix) ...
字符串部分函数
(string str) 使用 ucfirst()函数将字符串中的每个单词的首字符转换成大写,...语法 strtok( string , split)返回值:返回字符串标记(string token)。 参数 ...
更多相关标签:
matlab strtok使用 | strtok | strtok函数 | strtok r | c strtok | strtok s | strtok s 函数用法 | strtok函数用法 |