strcpy函数:

用于字符串的复制,将后面的字符串赋值到前面

strncpy函数:

        strncpy(p, p1, n) 复制指定长度字符串

#include <string.h>char a[10];
strcpy(a, "hello");
#include <string.h>struct StuData{             //结构体类型定义最好在h文件,结构体变量定义最好在C文件char code[10];char name[16];char serial[30];char password[30];
}stu[20];void student_init()
{strcpy(stu[0].code, "24F6D3EA");             strcpy(stu[0].name, "一号");strcpy(stu[0].serial, "fe:88:06:5a:8d:49");strcpy(stu[0].password, "abc111");strcpy(stu[1].code, "44F6D3EA");                 strcpy(stu[1].name, "二号");strcpy(stu[1].serial, "46:aa:d5:56:f2:62");strcpy(stu[1].password, "abc222");
}

 memcpy函数:

        用于数组的复制,与strcpy函数不同,它不追加对字符串结束符'\0'的要求,只是逐个字节复制。

 #include <string.h>struct identity
{char *name;unsigned char age;
}s1 = {"zhanghang", 21};void main(void)
{struct identity s2;memcpy(&s2, &s1, sizeof(s1));}
#include <string.h>unsigned char a1[]={0x7E,0xFF,0x06,0x03,0x00,0x00,0x01,0xEF};
unsigned char a2[]={0x7E,0xFF,0x06,0x03,0x00,0x00,0x02,0xEF};
unsigned char a3[]={0x7E,0xFF,0x06,0x03,0x00,0x00,0x03,0xEF};          struct soundData{           char order[20];
}a[10];void init()
{memcpy(a[0].order, a1,8);memcpy(a[1].order, a2,8);memcpy(a[2].order, a3,8);
}

strlen函数:

        计算字符串的长度,'\0’作为终止符,其参数必须是字符型指针(char*);

sizeof函数:

        是一种c中的基本运算符,操作对象为数组a[10],返回值为内存大小。操作对象为&a,这个是取数组名的地址,即取数组首元素的地址。我们知道,指针变量就是存放的各个元素的地址,指针占用4个字节(32位)

sizeof(指针) :返回计算机系统的地址字节数,如果是32位系统,返回4,64位系统返回8

char a[5]="123";
int b=sizeof(a);    //b=5
int c=strlen(a);    //c=3

strcmp函数: 比较字符串str1和str2是否相同,相同则返回0

strcmp(char *str1,char *str2),实际上就是对字符串的字符逐个进行ASCII码减法运算,如果相同则返回0,如果不同,前者大于后者则返回1,否则返回-1。

#include <string.h>char a[]="abcd";
char *b="abcd";
int d=strcmp(a,b);     //d=0

strncmp函数

strncmp(p, p1, n) 比较指定长度字符串

strcasecmp函数  

strcasecmp(p, p1)忽略大小写比较字符串

memset函数:清除字符串或者清除数组内容

#include<stdio.h>
#include<string.h>char str[10]={"abcdefg"};
char shuzu[10]={a,b,c,d,e,f,g};int main()
{memset(str,'\0',sizeof(str));memset(shuzu,0,sizeof(shuzu));
}

atof() 将字符串转换为双精度浮点型值
atoi() 将字符串转换为整型值
atol() 将字符串转换为长整型值

strtod() 将字符串转换为双精度浮点型值,并报告不能被转换的所有剩余数字
strtol() 将字符串转换为长整值,并报告不能被转换的所有剩余数字
strtoul() 将字符串转换为无符号长整型值,并报告不能被转换的所有剩余数字

//input为外部输入的一个已知数组,对其数据进行局部提取strncpy(stepstring ,input+1,4);            //截取字符串第2位到第5位,a[1]到a[4]共4位,“9999”
step = (unsigned int)atoi(stepstring); //并转化为整型,9999
strncpy(S_direction ,input+5,2);       //截取第5到第6位,共2位为方向,Arduino函数S_direction = input.substring(5,7);    

C语言一些常用于C51编程的函数(单片机编程)相关推荐

  1. Keil5 C51版(51单片机编程软件)安装教程

    目录 一.keil软件介绍 二.keil软件下载 三.keil软件安装 四.视频教程 一.keil软件介绍 keil软件是Keil公司下的微控制器(MCU)软件开发工具.2005年Keil公司由ARM ...

  2. m行n列最大值和最小值C语言,找数组最值 按如下函数原型编程从键盘输入一个m行n列的二维数...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 找数组最值 按如下函数原型编程从键盘输入一个m行n列的二维数组,然后计算数组中元素的最大值及其所在的行列下标值.其中,m和n的值由用户键盘输入.已知m和n ...

  3. 2毫秒c51汇编语言延时函数,单片机精确毫秒延时函数

    实现延时通常有两种方法:一种是硬件延时,要用到定时器/计数器,这种方法可以提高CPU的工作效率,也能做到精确延时;另一种是软件延时,这种方法主要采用循环体进行. 今天主要介绍软件延时以及单片机精确毫秒 ...

  4. 计算机条件函数ppt,计算机编程CHP5 函数.ppt

    文档介绍: 计算机编程CHP5_函数第五章函数赶会撩泼苫缮颐实撬卢方稍皖碱盛桶狼消煌邪署娇裁备盆炒桩絮益折叉疼计算机编程CHP5_函数计算机编程CHP5_函数本章教学要求掌握函数定义的方法,理解函数名 ...

  5. 计算机软件编程与嵌入式软件编程区别,简单看懂什么是单片机编程与嵌入式系统...

    什么是嵌入式编程?对于嵌入式系统,许多人很容易将它与单片机编程混淆.其实,嵌入式编程指的是在我们生活中的房屋.汽车.工作场所中的计算机编程设备,嵌入式系统便是运行于其中.需要指出的是,所有单片机编程都 ...

  6. c51语言提供了code存储类型来访问,单片机原理与应用(C51编程+proteus仿真)第2版张毅刚--第3章课后习题答案2020年1月30日整理...

    单片机原理与应用(C51编程+proteus仿真)第2版 -张毅刚课后习题参考答案 第3章思考题及习题3 参考答案 一.填空 1.与汇编语言相比, C51语言具有().().().和()等优点.答:可 ...

  7. 51单片机c语言定义寄存器r,c51特殊功能寄存器定义及作用

    单片机C51语言是由C语言继承而来的.和C语言不同的是,C51语言运行于单片机平台,而C语言则运行于普通的桌面平台.C51语言具有C语言结构清晰的优点,便于学习,同时具有汇编语言的硬件操作能力.对于具 ...

  8. 单片机c语言编程教学大纲,《单片机C语言编程》教学大纲

    <单片机C语言编程>教学大纲 课程代码:000002336 课程英文名称:Microcontroller C Programming Language 课程总学时:24 讲课:16 实验: ...

  9. 华为c语言编程规范_单片机开发之C语言编程基本规范

    为了提高源程序的质量和可维护性,从而最终提高软件产品生产力,特编写此规范.本标准规定了程序设计人员进行程序设计时必须遵循的规范.本规范主要针对单片机编程语言和08编译器而言,包括排版.注释.命名.变量 ...

最新文章

  1. c语言蜂鸣警报加循环,如何在此单片机程序基础上加入蜂鸣器报警啊
  2. 漫步微积分十——复合函数和链式法则
  3. 嵌入式系统开发学习步骤(Linux高级编程学习顺序)
  4. 无人驾驶时代指日可待?2035年将取代传统汽车
  5. Memcache监控工具 -- memkeys
  6. android viewdraghelper 点击移动,ViewDragHelper使用时遇到的问题
  7. CVE-2018-18311 阿里云漏洞修复 RHSA-2019:0109-Important: perl secur
  8. 关于小米笔记本Pro内部风扇异响问题解决方法
  9. 甘草泻心汤治疗复发性口腔溃疡的经验
  10. 修改手机状态栏字体的颜色(如:白底黑字)
  11. JavaFX战旗类游戏开发 第一课 概述
  12. Oracle 报错 28000原因和解决方法
  13. python实现地理位置类数据爬取与geohash应用初探
  14. Apache Arrow 简介
  15. python爬虫开发数据库设计_基于Python的DBLP数据库爬虫系统
  16. [MM32生态]EVB-L0136开发学习分享
  17. Java实现寻找和为定值的多个数
  18. Apollo星火计划学习笔记第四讲1——Apollo高精地图模块
  19. 第四届“蓝帽杯”全国大学生网络安全 技能大赛 Writeup
  20. js 日期对象深拷贝

热门文章

  1. 2018清华计算机考研经历,2018清华计算机考研经验分享
  2. PostgreSQL 元命令介绍
  3. 函数指针的强制类型转换与void指针
  4. reactjs 视频教程
  5. react从零基础入门到项目实战视频教程
  6. python-KNN简单数据分类+dsift+手势识别
  7. 生成和查看dump文件
  8. Component属性
  9. '与或非' 和 逻辑 '与或' 运算
  10. 【vivado IP核学习】DDS complier v6.0使用“SIN/COS LUT only”