c语言字符串的分隔符是什么6,字符串分隔符
将字符串分解为单词称为令牌化。
strtok()函数用于标记字符串。
它需要两个参数:要标记的字符串和包含所有可能的分隔符的字符串。
strtok_s()比标准函数更安全。
因为它是可选的标准函数,所以需要将__STDC_WANT_LIB_EXT1__符号定义为1才能使用它。
strtok_s()函数需要四个参数:
str - 要标记化的字符串的地址,或者NULL,对于第一个在同一个字符串之后的第二个和后续标记化操作的字符串。
str_size - 包含数组大小的整数变量的地址存储第一个参数。 这将由函数更新,在字符串中搜索的字符被标记化的数量。
delimiters - 包含所有标记分隔符的字符串的地址。
pptr - 指向char *类型变量的指针,函数将在其中存储信息允许它在找到第一个令牌后继续搜索令牌。
示例代码
#define __STDC_WANT_LIB_EXT1__ 1 // Make optional versions of functions available
#include
#include
#include
int main(void)
{
char delimiters[] = " ".,;:!?)("; // 分隔符
char buf[100]; // 用于键盘输入线的缓冲区
char str[1000]; // 存放被标记化字符串
char* ptr = NULL; // Pointer used by strtok_s()
str[0] = '\0'; // Set 1st character to null
size_t str_len = sizeof(str);
size_t buf_len = sizeof(buf);
printf("输入一些小于 %zd 字符的一段文字.\n 输入空行终止输入: \n", str_len);
// 从键盘上阅读多行散文
while (true)
{
if (!gets_s(buf, buf_len))// 阅读一行输入
{
printf("读取字符串出错.\n");
return 1;
}
if (!strnlen_s(buf, buf_len))// 空行结束输入
break;
if (strcat_s(str, str_len, buf)) // 将该行与`str`连接起来
{
printf("超出允许的最大输入长度.\n");
return 1;
}
}
printf("你输入的文字是: %s\n", str);
// 查找并列出文段中的所有单词
unsigned int word_count = 0;
char * pWord = strtok_s(str, delimiters, &ptr); // Find 1st word
if (pWord)
{
do
{
printf("%-18s", pWord);
if (++word_count % 5 == 0)
printf("\n");
pWord = strtok_s(NULL, delimiters, &ptr); //找到子字符
} while (pWord);// NULL ends tokenizing
printf("\n%u 字词找到.\n", word_count);
}
else
printf("字词未找到.\n");
return 0;
}
c语言字符串的分隔符是什么6,字符串分隔符相关推荐
- c语言分隔符分离出str字符串中的数字,C语言版Tokenize()函数,由分隔符获取字符串...
测试环境: 操作系统: Windows10 64位 运行环境: Visual Studio 10 函数: /********************************************** ...
- 【C语言航路】第十一站:字符串、字符和内存函数
目录 一.字符串函数 1.strlen (1)strlen的库函数文档 (2)strlen的模拟实现 (3)strlen的注意事项 2.strcpy (1)strcpy的库函数文档 (2)strcpy ...
- C语言的本质——C标准库之字符串操作
字符串处理函数 C语言提供了丰富的字符串处理函数,大致可分为字符串的输入.输出.合并.修改.比较.转换.复制.搜索几类.使用这些函数可大大减轻编程的负担.用于输入输出的字符串函数,在使用前应包含头文件 ...
- c语言 date转string,c如何将字符串转换为时间格式
1.C语言中 有没有函数可以将字符串直接转为时间格式的 由于实际生活中,字符串形式的时间有可能有多种形式,比如月日年,或年月日,中间的分隔符也可能有所不同.所以C语言并没有提供此类的转换函数. 如果有 ...
- python键盘输入字符串以空格为分隔符_已知str1=“ You need Python” , 以空格为分隔符,分割此此字符串,然后用“ @” 为连接符,将其连接起来()。_学小易找答案...
[单选题]增加同步总线带宽的手段有很多,但以下( )不能提高总线带宽 [填空题]已知str1=" You need Python" , 获得字符串的字符总数(). [单选题]-40 ...
- R语言str_extract函数从字符串中抽取匹配模式的字符串
R语言str_extract函数从字符串中抽取匹配模式的字符串 目录 R语言str_extract函数从字符串中抽取匹配模式的字符串 #导入包和库
- R语言str_sub函数从字符串中提取或替换子字符串(substring):str_sub函数指定起始位置和终止位置抽取子字符、str_sub函数指定起始位置和终止位置替换子字符串
R语言str_sub函数从字符串中提取或替换子字符串(substring):str_sub函数指定起始位置和终止位置抽取子字符.str_sub函数指定起始位置和终止位置替换子字符串 目录
- Swift3.0语言教程使用Unicode范式标准化获取字符串
Swift3.0语言教程使用Unicode范式标准化获取字符串 Swift3.0语言教程使用Unicode范式标准化获取字符串,在NSString中可以使用4个属性去使用Unicode范式标准化获取字 ...
- Swift3.0语言教程使用编码创建和初始化字符串
Swift3.0语言教程使用编码创建和初始化字符串 使用编码创建和初始化字符串 创建和初始化字符串除了可以使用上文中提到的方法外,还可以使用init(coder:)方法,此方法一般不常使用,其语法形式 ...
- Swift3.0语言教程使用指针创建和初始化字符串
Swift3.0语言教程使用指针创建和初始化字符串 Swift3.0语言教程使用指针创建和初始化字符串苹果的Swift团队花了不少功夫来支持C的一些基础特性.C语言中为我们提供了指针,Swift也不例 ...
最新文章
- 最快捷的PPT技能提升之路 PPT定制 驼峰设计
- hoj 1067 Rails //poj1363 Rails 栈的简单应用
- ORACLE将表中的数据恢复到某一个时间点
- 分度器中硒定位器的完整指南(示例)
- gunicorn部署Flask服务
- ​三位中国科学家与诺贝尔物理奖的擦肩而过
- Laravel 指定日志生成目录
- python双向索引什么意思_Python 双向链表的实现
- Windows中NTP服务器的搭建和时间同步
- 梯度下降法,最速下降法,牛顿法,Levenberg-Marquardt 修正,共轭方向法,共轭梯度法
- 重磅!阿里云发布业界首本云网络白皮书
- smartpdf双击无法返回latex如何解决
- mysql计算同比和环比的区别_SQL 求同比 环比
- python add sheet_Python系列(6)——使用openpyxl将三种类型的数据添加进新sheet及已有的sheet中且不覆盖原数据...
- NLP 之 jieba (结巴)制作词云
- 检测昵称是否含有敏感词汇
- 3D目标检测——代码理解——Second代码:数据处理kitti_dataset.py的理解
- 2021年工业软件行业研究报告
- 2022 极术通讯-搭载“星辰”处理器的聆思科技CSK6视觉AI开发套件开发概览
- 杭电OJ 1159(C++)
热门文章
- SLAM方向公众号、知乎、博客上有哪些大V可以关注?
- Netty 学习之 Socket
- PHP仓库进销存管理系统源码 WMS源码
- 移动端banner css3(@keyframes )实现
- 高中关于计算机课题研究,研究性课题 对中学生使用计算器情况的调查.docx
- 2021年中国炭素行业市场销售情况分析:共有8家企业产品销售收入超10亿元[图]
- 极简学习法考试高分的秘密
- 10年后端开发程序员详解数据库缓存方案到底有多少名堂。丨Linux服务器开发丨后端开发丨中间件丨web服务器丨数据库缓存
- C# SpinLock实现
- win10 LTSC 2019,发现默认打开图片的程序是“画图”,图片查看器无法正常启动