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

使用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_s函数从一个字符串中分离出单词
使用strtok_s 函数从一个字符串中分离出单词下面的代码从含有多个结束符的字符串中分离出单词来,需要对 strtok_s 有清楚的认识。 这段代码是我在写一个处理...
使用strtok函数从一个字符窜中分离出单词
使用strtok函数从一个字符窜中分离出单词_英语学习_外语学习_教育专区。使用strtok函数从一个字符窜中分离出单词 使用strtok_s 函数从一个字符串中分离出单词 下面...
strtok函数的使用
strtok函数的使用_计算机软件及应用_IT/计算机_专业资料。strtlk函数定义及使用注释 strtokstrtok_s、strtok_r 字符串分割函数 1、strtok 函数函数原型:char * ...
使用strtok_s函数从一个字符串中分离出单词
使用strtok_s 函数从一个字符串中分离出单词 下面的代码从含有多个结束符的字符串中分离出单词来,需要对 strtok_s 有清楚的认识。 这段代码是我在写一个处理...
使用strtok_s函数从一个字符串中分离出单词
使用strtok_s函数从一个字符串中分离出单词_数学_高中教育_教育专区。下面的代码从含有多个结束符的字符串中分离出单词来,需要对 strtok_s 有清楚的认识。 这段...
使用strtok_s函数从一个字符串中分离出单词
使用strtok_s 函数从一个字符串中分离出单词下面的代码从含有多个结束符的字符串中分离出单词来,需要对 strtok_s 有清 楚的认识。 1 void ParseBuffer(CWord...
在C逗号分离使用strtok:如何处理CSV文件
在C 逗号分离使用 strtok:如何处理 CSV 文件 一种常见的程序之间的数据共享格式是 CSV(否则为逗号分隔值)文件。这些可以很容 易地处理使用 string.h 中的 C ...
strtok与strsep函数说明
使用 strtok 函数会破坏被分解字符串的完整, 调用前和调用后的 s 已经不一样了。 如果要保 持原字符串的完整,可以使用 strchr 和 sscanf 的组合等。 c 1 2...
STRTOK与STRSEP函数说明
STRTOK与STRSEP函数说明_数学_小学教育_教育专区。STRTOK与STRSEP函数说明 ...如果“关键字”在字符串之间连续出现, 可使用 如下技巧解决: charstr[]=&...
C++字符串分割方法总结
经常碰到字符串分割的问题,这里总结下,也方便我以后使用。 一、用 strtok 函数进行字符串分割 原型: char *strtok(char *str, const char *delim); 功能:分解...
更多相关标签:
strtok函数的使用 | strtok函数使用 | strtok | strtok函数 | strtok r | strtok s | strtok s 函数用法 | c strtok |