strspn&strcspn
size_t strspn (const char *s,const char * accept);#include <string.h>
#include <stdio.h>
main()
{
char *str="Linux was first developed for 386/486-based pcs.";
printf("%d\n",strspn(str,"Linux"));
printf("%d\n",strspn(str,"/-"));
printf("%d\n",strspn(str,""));
}
运行结果:
5
0
0
#include <string.h>
main(void)
{
char *str = "Linux was first developed for 386/486-based pcs. ";
printf("%d\n", strcspn(str, " "));
printf("%d\n", strcspn(str, "/-"));
printf("%d\n", strcspn(str, ""));
}
运行结果:
5
33
30
编程使用:key-value去掉参数前面的空格
int _nvram_init(void *unused)
{
FILE *in;
char buffer[SIZE], *token, *line;
int i;
if (!(in = fopen(PATH_DEV_NVRAM, "r"))) {
printf("nvram file can not open\n");
return -;
}
while (fgets(buffer, 300, in)) {
if (strchr(buffer, '\n')) *(strchr(buffer, '\n')) = '\0';
token = buffer + strspn(buffer, " ");
if (*token == '\0') continue;
line = token + strcspn(token, "=");
if (*line == '\0') continue;
*line = '\0';
line++;
/* eat leading whitespace */
line = line + strspn(line, " ");
/* eat trailing whitespace */
for (i = strlen(line); i > 0 && (line[i - 1]==' '); i--);
line[i] = '\0';
_nvram_set(token,line);
}
fclose(in);
printf("nvram init----\n");
return 0;
}
strspn&strcspn的更多相关文章
- udhcpd源码分析2--读取配置文件
1:重要的结构体 读取配置文件信息到全局的结构体struct server_config_t server_config中,这个结构在很多文件中都有引用到很重要. /* dhcpd.h */ stru ...
- 自己编写的str操作函数
1.strcat() 此函数原型为 char *strcat(char *dest, const char *src). 功能为连接两个字符串,把src连接到dest后面:返回dest地址 实现如下 ...
- php回顾(3)系统函数
abs() 绝对值 ceil() 向上取整 floor() 向下取整 round() 四舍五入 第二个参数:保留小数点后面几位 ...
- strspn 和strcspn
1.strcspn头文件:#inclued<string.h>定义函数:size_t strcspn(const char *s, const char * reject);函数说明:st ...
- 【 C 】高级字符串查找之 strspn 和 strcspn 的思考
我的CSDN博客 strspn 这个库函数是真的很难理解,看了很多中文描述,反正都是不知所云,给出一系列的例子,结果也是让我瞠目结舌,荒唐.荒谬.荒诞! 特此记录理解过程,最后竟然是百度百科让我明白了 ...
- strspn() 和 strcspn() 函数【转】
本文转载自:https://flyer103.wordpress.com/2011/06/03/strspn-%E5%92%8C-strcspn-%E5%87%BD%E6%95%B0/ 前几天在看一本 ...
- strspn和strcspn妙用
http://blog.csdn.net/aidenliu/article/details/5460201
- 内存及字符串操作篇strlen strchar strcmp strcoll strcpy strdup strstr strtok strspn strrchr bcmp bcopy bzero index memccpy memset
bcmp(比较内存内容) 相关函数 bcmp,strcasecmp,strcmp,strcoll,strncmp,strncasecmp 表头文件 #include<string.h> 定 ...
- 由ffmpeg中avformat模块中的 URL_SCHEME_CHARS 看 strspn( ) 的妙用
在ffmpeg的avformat 模块中avio.c 对 URL_SCHEME_CHARS 的定义: #define URL_SCHEME_CHARS \ "abcdefghijklmnop ...
随机推荐
- js 修改css属性值
js不能修改样式表 但是可以修改元素:比如 <div id="test" class="star-rating"></div> 对于上面 ...
- 【笔记】js原生方法 在元素外部或内部实现添加元素功能(类似jq 的 insert 和 append)
介绍的这个方法是:insetAdjacentHTML() 方法 此方法接收两个参数: 第一个参数必为下列值: beforebegin:在调用的元素外部的前面添加一个目标元素 afterend:在调用元 ...
- python从数据库获取全量数据的方法
python从数据库获取全量数据的方法 学习了:https://blog.csdn.net/lom9357bye/article/details/79503658 原文膜拜: import psyco ...
- jstl表达式引用文件
<script type="text/javascript" src="<c:url value="/resources/js/common/jqu ...
- array_intersect_assoc用法详解
最近在做考试系统,想到这个数组函数,用法如下: <?php $a1=array('a','b','d','c','d','b','c','a'); $a2=array('b','d','d',' ...
- UVA 10168 Summation of Four Primes(数论)
Summation of Four Primes Input: standard input Output: standard output Time Limit: 4 seconds Euler p ...
- 调整 firefox 源代码查看器的字体
默认的 firefox 源代码查看器的字体很不好看,不适合阅读代码.想要修改,又没有发现入口.如何修改呢?实际上在选项里的字体就能改.方法如下: 打开选项页,在字体一栏点击高级,把等宽字体由“宋体”改 ...
- DDL语句--改动表
改动表是指改动数据库中已经存在的表的定义.改动表比又一次定义表简单.不须要又一次载入数据.也不会影响正在进行的服务. MySQL中通过ALTER TABLE语句来改动表.改动表包含改动表名.改动字段数 ...
- Python-深入理解元类(metaclass)
1.使用 type 动态创建类(type 是一个类, 用来创建类对象的元类, 所以也可以继承) type("Person", (), {"name": &quo ...
- input text 去掉标签下拉提示autocomplete
autocomplete 属性 autocomplete 属性规定输入字段是否应该启用自动完成功能. 自动完成允许浏览器预测对字段的输入.当用户在字段开始键入时,浏览器基于之前键入过的值,应该显示出在 ...