前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >基础知识 | 每日一面(89)

基础知识 | 每日一面(89)

作者头像
小林C语言
发布2020-03-31 15:17:30
2070
发布2020-03-31 15:17:30
举报
文章被收录于专栏:C语言入门到精通

古代的剑客们与

对手相逢时,无

论对手多么强大,

明知不敌,也要亮出自己的剑!

读者:为什么有些版本的 toupper() 对大写字符会有奇怪的反应?为什么有的代码在调用 toupper() 前先调用 tolower()?

小林:老版的 toupper() 和 tolower() 不一定能够正常处理不需要转换的字符参数,例如数字、标点或已经符合请求的字符。在 ANSI/ISO 标准 C 中, 这些函数保证对所有的字符参数正常处理。

读者:怎样把字符串分隔成用空白作间隔符的段?怎样实现类似传递给

main() 的 argc 和 argv?

小林:标准中唯一用于这种分隔的函数是 strtok(), 虽然用起来需要些技巧, 而且不一定能做到你所要求的所有事。例如, 它不能处理引用。

读者:我需要一些处理正则表达式或通配符匹配的代码。

小林:确保你知道经典的正则表达式和文件名通配符的不同。前者的变体在 Unix工具 ed 和 grep 等中使用, 后者的变体在多数操作系统中使用。有许多匹配正则表达式的包可以利用。很多包都是用成对的函数, 一个 “编译” 正则表达式, 另一个 “执行” 它, 即用它比较字符串。

有时候,正是那些意想不到之人,成就了无人能成之事。

——图灵

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-03-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 C语言入门到精通 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档