C标准库中没有从某位置开始指定长度子字符串的函数,但可用函数 strncpy 实现。

1. strncpy介绍

strncpy原型:char *strncpy(char *dest, const char *src, size_t n) 
        功能:C库函数strncpy 把 src 所指向的字符串复制到 dest,最多复制 n 个字符。
        当 src 的长度小于 n 时,dest 的剩余部分将用空字节(NUL字节 / \0)填充(NUL即‘\0’)。
        当 strlen(src)的值>=n时,那么只有len个字符被复制到dst中,注意!它的结果将不会以NUL字节结尾(容易造成数组越界)。

int GetFixedIntervalTime(){unsigned int day = 0;unsigned int hour = 0;unsigned int min  = 0;char time_buff[16]="";char stmp[8];fv_dev_manager_cfg_get(FIXED_REBOOT_UPTIME_DAY,time_buff); day = atoi(time_buff);memset(time_buff, 0, sizeof(time_buff));fv_dev_manager_cfg_get(FIXED_REBOOT_TIME,time_buff);/* 0907;1010 */memset(stmp, 0, sizeof(stmp));strncpy(stmp, time_buff, 2); //从time_buff开始位置截取2个字符长度,到stmpstmp[7] = '\0';     //即使赋值满8个字节,也要将最后一位置为\0,防止访问越界。hour = atoi(stmp);    //atoi(09)=9;memset(stmp, 0, sizeof(stmp));strncpy(stmp, time_buff+2, 2); //从time_buff第3个字符位置开启截取2个字符长度,到stmpstmp[7] = '\0';        //即使赋值满8个字节,也要将最后一位置为\0,防止访问越界。min = atoi(stmp); //atoi(07)=7;return (day*24*60*60 + hour*60*60 + min*60);}

注意:

1)char stmp[8]="";
        2)char stmp[8]; memset(stmp, 0, sizeof(stmp));
        区别:相同点都是初始化
        不同点:2)memset会将每个字符位置均初始化为\0, 操作:strncpy(stmp, time_buff, 2); stmp[7] = '\0'; 之后stmp下标从3-6 均不会 产生随机数。
        1)操作:strncpy(stmp, time_buff, 2); stmp[7] = '\0'; 之后stmp下标从3-6 可能 会产生随机数

C实现从指定位置开始截取字符串指定长度相关推荐

  1. php输出到特定位置,如何使用php从指定位置开始替换字符串

    如何使用php从指定位置开始替换字符串 发布时间:2020-08-03 16:10:19 来源:亿速云 阅读:146 作者:Leah 本篇文章给大家分享的是有关如何使用php从指定位置开始替换字符串, ...

  2. c#截取字符串指定符号,在.NET中,C#字符串是可截取的,可从指定位置截取,也可指定数量...

    C#核心开发-第16单元-字符串-第2节:截取字符串 C#核心开发-截取字符串 1. 什么是截取字符串? 截取字符串是指在一个比较长的字符串中截取一部分有用.有意义的子字符串. 在C#中,可以使用Su ...

  3. JS字符串截取方法 JS字符串查找指定字符方法 JS字符串替换指定字符方法 JS字符串插入指定位置方法 JS字符串删除指定字符方法

    js字符串截取的方法 方法一: str.slice(开始位置,结束位置) //start 参数字符串中第一个字符位置为 0, 第二个字符位置为 1, 以此类推,如果是负数表示从尾部截取多少个字符串,s ...

  4. html从指定字符开始截取字符串,字符串截取指定位置前后字符串

    http://www.cnblogs.com/csj007523/archive/2012/07/15/2592188.html 1)rangeOfString:截取指定字符串的长度: 2) subs ...

  5. c++string替换指定位置字符_Lua 字符串

    --[[ Lua 字符串 字符串或串(String)是由数字.字母.下划线组成的一串字符 Lua语言中字符串可以使用以下三种方式来表示 ]] -- 单引号的一串字符 -- 双引号的一串字符 -- [[ ...

  6. c#截取字符串指定符号_C#截取字符串的方法小结

    1.单个字符分隔用split截取 string str = "GT123_1"; string[] strArray = str.Split('_'); //输出:sArray[0 ...

  7. Oracle 获取字符的位置并截取字符串

    1.获取字符所在位置 用法:instr (字符串, 查找的字符) select instr('福建省/厦门市/思明区', '/') from dual; 返回值:4 2.截取字符串 用法:substr ...

  8. 截取字符串指定字符前/后的内容

    例:截取字符串 "KLVlOACwnaACo2RTQhL14110.zip$hahaha.zip" $之后的内容 var str = 'KLVlOACwnaACo2RTQhL141 ...

  9. string:删除string中指定位置的字符?指定的所有字符?

    使用迭代器删除string中指定位置的字符! string str = "huehfudhfruhgfsfgkhdyfsghydff";string::iterator itr = ...

最新文章

  1. python定义全局变量
  2. 数据集哪些特征有多大的null列表
  3. 个人觉得好的文章链接推荐【转载,侵权立删】
  4. PHP 错误与异常 笔记与总结(6)将错误日志保存在系统日志中
  5. archLinux 安装拼音输入法
  6. spring教程笔记2
  7. 基于seaborn的相关性热力图可视化分析
  8. 计算机专业英语信息系统,信息系统项目管理师英语复习资料:计算机专业英语汇总[5]...
  9. java权限管理框架Shiro(最近学习整理)
  10. 电流纹波率取r = 0.4的原因 // 《精通开关电源设计》P48:r的最优值
  11. 运筹学牛顿法c语言源代码,运筹学与MATlab编程.doc
  12. Binder机制原理简述
  13. NiFi 一键自动升级Nar包
  14. 最短路径系列【最短路径、哈密顿路等】
  15. 对事件流的小故事理解
  16. dz论坛非应用商店的插件如何安装教程
  17. C语言:二维数组传参的格式(详细+总结)
  18. 团队开发过程中的一点感想
  19. 使用java生成折线图_Java折线图简单绘制
  20. w10系统服务器如何创建新用户,win10添加新用户的方法分享

热门文章

  1. Hiveserver2的代理执行之路
  2. 计算机考试打字小作文,计算机打字比赛小学生作文
  3. 办公商务用计算机配置数据,十款商务办公笔记本电脑推荐,来自ZOL中关村最强数据分析...
  4. 京东金融商户平台对接开发
  5. lol手游内测服务器什么时候维护好,LOL手游第二次内测开启?网友预测:正式服春节前可以上线...
  6. 【蓝桥杯省赛真题33】Scratch奥特曼大战怪兽 少儿编程scratch蓝桥杯省赛真题讲解
  7. 转自 《动物庄园》读后感
  8. 《大数据:技术与应用实践指南》图书信息
  9. python实现批量下载视频_利用Python实现批量下载腾讯视频!
  10. 不是乔布斯的命,别得乔布斯的病