C语言处理字符串
1. strtok
函数原型:
char * strtok(char *str, const char * delim);
注意点:
两个入参必须为字符串数组;
第一次调用要传str, delim,后面调用要传NULL, delim,传入其它的str后重新被初始化,内部是一个static的指针;
与之相对的一个:strtok_r();
典型逻辑:
while(result = strtok(input, split))
{
input = NULL; if(i == )
{
} if(i == )
{
} i++;
}
2. sprintf、sscanf
函数原型:
int sprintf(char *str, const char *format, ...);
int sscanf(const char *str, const char *format);
用于版本号、IP等的匹配,%后面的可以用正则表达式,灵活性较强,要处理简单字符串的时候可以考虑替代使用regex.h库。
char buf[16]="10.150.88.34";
char a[4]="192",b[4]="168",c[4]="0",d[4]="1"; //sprintf(buf, "%s.%s.%s.%s", a,b,c,d);
//printf("%s\n", buf); sscanf(buf, "%[0-9].%[0-9].%[0-9].%[0-9]", a,b,c,d);
printf("%s,%s,%s,%s\n", a,b,c,d);
更深入细致的介绍:
https://blog.csdn.net/huangxy10/article/details/8117870
https://www.cnblogs.com/rere-whh/p/7608446.html
可以使用更安全的stringstream,与getline连用:https://blog.csdn.net/sunshineacm/article/details/78068987
C语言字符匹配系统介绍:
https://www.jianshu.com/p/51f4fd99e6e1?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation
C语言处理字符串的更多相关文章
- R语言拆分字符串
R语言拆分字符串 aaa<-"aa;bb;cc"ccc<-strsplit(aaa,split=";") bbb<- unlist(strsp ...
- C语言之字符串处理函数
C语言中字符串处理函数介绍 下面介绍8种基本的常用的字符串处理函数,在数值数组中也常常用到(部分函数).所有的C语言编译系统中一般都提供这些函数. 1.puts函数——输出字符串的函数 一般的形式为p ...
- Swift3.0语言教程字符串与URL的数据转换与自由转换
Swift3.0语言教程字符串与URL的数据转换与自由转换 Swift3.0语言教程字符串与URL的数据转换 Swift3.0语言教程字符串与URL的数据转换与自由转换,字符串中的字符永久保存除了可以 ...
- Swift3.0语言教程字符串与文件的数据转换
Swift3.0语言教程字符串与文件的数据转换 Swift3.0语言教程字符串与文件的数据转换,如果想要对字符串中的字符进行永久保存,可以将字符串中的字符写入到文件中.当然,开发者也可以将写入的内容进 ...
- Swift3.0语言教程字符串转换为数字值
Swift3.0语言教程字符串转换为数字值 Swift3.0语言教程字符串转换为数字值,在NSString中,开发者可以将字符串转换为数字值,通过这些数字值可以实现一些功能,如加法运算.减法运算等.数 ...
- Swift3.0语言教程字符串大小写转化
Swift3.0语言教程字符串大小写转化 Swift3.0语言教程字符串大小写转化,在字符串中,字符串的格式是很重要的,例如首字母大写,全部大写以及全部小写等.当字符串中字符很多时,通过人为一个一个的 ...
- C语言学习 —— 字符串的学习(一)
这是本人在学习 C语言有关 字符串内容 时的相关笔记 由于本人技术有限,如有错误,还望指正 C语言中数据类型中只有 字符型(char),而 char型 变量一次只能存储一个字符,在日常工作中经常需要定 ...
- iOS开发-OC语言 (三)字符串
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; text-align: center; font: 24.0px "PingFang SC" } p ...
- Go语言中字符串的查找方法小结
这篇文章主要介绍了Go语言中字符串的查找方法小结,示例的main函数都是导入strings包然后使用其中的方法,需要的朋友可以参考下 1.func Contains(s, substr strin ...
- [笔记]Go语言的字符串拼装方式性能对比
Go语言中字符串的拼装方法很多,那么问题来了,到底哪家性能好? 下面代码,分别比较了 fmt.Sprintf,string +,strings.Join,bytes.Buffer,方法是循环若干次比较 ...
随机推荐
- 小福bbs-冲刺集合
[小福bbs-冲刺集合] 一 . 7次团队冲刺博客的链接 第①次冲刺链接 第②次冲刺链接 第③次冲刺链接 第④次冲刺链接 第⑤次冲刺链接 第⑥次冲刺链接 第⑦次冲刺链接 冲刺的时间 日志博客的名称 当 ...
- NGUI: Next-Gen UI 2018.3.0f
https://assetstore.unity.com/packages/tools/gui/ngui-next-gen-ui-2413 NGUI is a very powerful UI sys ...
- RabbitMQ之Direct交换器模式开发
Dirtct交换器,即发布与订阅模式,匹配规则为完全匹配. 一.Provideer 配置文件 spring.application.name=provider spring.rabbitmq.host ...
- Navicat Premium 12 mysql show error: connection is being used
错误原因:连接数满了. 解决方案:杀掉无用连接,释放资源.
- 【MySQL】Mac通过brew安装的MySQL重启方法
问题 在 Mac 上通过 brew install mysql 安装的的MySQL使用基本MySQL命令重启会失败: mysql.server stop mysql.server start mysq ...
- IDEA中使用Maven:通过模板项目来创建新工程(转)
首先自己有一个很完善的项目,并想通过这个项目做一个Demo事例项目: 例子1 如下图,在idea的terminal中敲入命令: mvn archetype:create-from-project 1 ...
- Vscode 调试 Flutter 项目
1.Vscode 中打开 flutter 项目进行开发 2.运行 Flutter 项目 flutter run r 键:点击后热加载,也就算是重新加载吧. p 键:显示网格,这个可以很好的掌握布局情况 ...
- oracle存储过程中%type的含义
转: oracle存储过程中%type的含义 2018-11-07 11:43:56 lizhi_ma 阅读数 1361更多 分类专栏: 数据库 版权声明:本文为博主原创文章,遵循CC 4.0 B ...
- Flutter修改应用图标及图标
应用名称是需要在 Android 和 iOS 中分别调整的:Android 是在 AndroidManifest.xml 中修改:iOS 则是在 Info.plist 中修改的: 如果需要更改应用的 ...
- docker安装并运行mysql
docker拉取mysql镜像: [mall@VM_0_7_centos ~]$ sudo docker pull mysql:5.7 5.7: Pulling from library/mysql ...