当前位置: 首页 > news >正文

北京网站设计引流微信hyhyk1百度贴吧热线客服24小时

北京网站设计引流微信hyhyk1,百度贴吧热线客服24小时,响应式网站建设品牌全网天下,动态网站制作流程在嵌入式软件开发时,数据的显示必不可少,那么必定会涉及到数据类型转换。将不同类型的数据在编程中进行转换,以便满足不同的需求。 插入一个知识点: 在C语言中,字符串是由字符组成的字符数组,以null终止符…

在嵌入式软件开发时,数据的显示必不可少,那么必定会涉及到数据类型转换。将不同类型的数据在编程中进行转换,以便满足不同的需求。

插入一个知识点: 在C语言中,字符串是由字符组成的字符数组,以null终止符(‘\0’)标识字符串的结束。每个字符都是一个字节,按顺序存储在内存中。

例如,字符串 “Hello” 在内存中的存储方式如下:

012345
‘H’‘e’‘l’‘l’‘o’‘\0’
  • 这里的 ‘\0’ 是null终止符,它表示字符串的结束。C语言中的字符串函数会根据这个null终止符来判断字符串的结束位置。

  • 要在C语言中声明和操作字符串,可以使用字符数组来存储字符序列,并在数组的末尾添加一个null终止符,从而将其视为一个字符串。


/*
******************************************************************************
,*  Function Name: 
,*  Author: By yangbocsu
,*  Created: 2023.08.20
,*  Description: 
,*  Parameters:Non
,* Returns: 0.
******************************************************************************
*/#include <stdio.h>typedef unsigned char u8;
typedef signed char s8;typedef unsigned short u16;
typedef signed short s16;typedef unsigned int u32;
typedef signed int s32;uint main() {u8 u8Str[6] = {'H', 'e', 'l', 'l', 'o', '\0'}; 				// 字符数组表示字符串printf("String: %s\n", str); 								// 打印字符串return 0;
}
  • 通常情况下,我们使用字符串常量的简写方式来声明字符串:
/*
******************************************************************************
,*  Function Name: 
,*  Author: By yangbocsu
,*  Created: 2023.08.20
,*  Description: 
,*  Parameters:Non
,* Returns: 0.
******************************************************************************
*/#include "stdio.h"typedef unsigned char u8;
typedef signed char s8;typedef unsigned short u16;
typedef signed short s16;typedef unsigned int u32;
typedef signed int s32;int main() {u8 u8Str[] = "Hello";               // 字符串常量会自动添加null终止符printf("String: %s\n", u8Str);return 0;
}


一、单个字符 <----> 字符串

1.1 单个字符 转换为 字符串

/*
******************************************************************************
,*  Function Name: 
,*  Author: By yangbocsu
,*  Created: 2023.08.20
,*  Description: 
,*  Parameters:Non
,* Returns: 0.
******************************************************************************
*/#include "stdio.h"
#include "string.h"
typedef unsigned char u8;
typedef signed char s8;typedef unsigned short u16;
typedef signed short s16;typedef unsigned int u32;
typedef signed int s32;int main() {// 单个字符转为字符串u8 u8Ch = 'A';u8 u8Ch2CharArr[2];u8Ch2CharArr[0] = u8Ch;u8Ch2CharArr[1] = '\0'; // 字符串末尾需要添加 null 终止符printf("Char2String: %s\n", u8Ch2CharArr);return 0;
}

1.2 字符串 转换为 单个字符

/*
******************************************************************************
,*  Function Name: 
,*  Author: By yangbocsu
,*  Created: 2023.08.20
,*  Description: 
,*  Parameters:Non
,* Returns: 0.
******************************************************************************
*/#include "stdio.h"
#include "string.h"
typedef unsigned char u8;
typedef signed char s8;typedef unsigned short u16;
typedef signed short s16;typedef unsigned int u32;
typedef signed int s32;int main() {// 字符串转为单个字符u8 u8Str[] = "Hello";u8 u8Ch = u8Str[0];printf("Char from string: %c\n", u8Ch);return 0;
}

二、整数 <----> 字符串

2.1 整数 转为 字符串

  • 版本一 :sprintf 函数
/*
******************************************************************************
,*  Function Name: 
,*  Author: By yangbocsu
,*  Created: 2023.08.20
,*  Description: 
,*  Parameters:Non
,* Returns: 0.
******************************************************************************
*/#include "stdio.h"
#include "string.h"
#include "stdlib.h"typedef unsigned char u8;
typedef signed char s8;typedef unsigned short u16;
typedef signed short s16;typedef unsigned int u32;
typedef signed int s32;int main() {// 整数转为字符串u8 u8Num = 42;u8 u8StrFromInt[20]; // 适当大小的字符数组sprintf(u8StrFromInt, "%d", num);printf("String from int: %s\n", str_from_int);return 0;
}

注意:sprintf函数是一个变参函数,前两个函数有固定类型,会进行安全检查,后面的参数都不是类型安全的。使用的时要小心。还有一点就是sprintf() 的写操作可能会越过buffer的边界,从而产生一个缓冲区溢出。

  • 版本二
/*
******************************************************************************
,*  Function Name: 
,*  Author: By yangbocsu
,*  Created: 2023.08.20
,*  Description: 
,*  Parameters:Non
,* Returns: 0.
******************************************************************************
*/#include "stdio.h"
#include "string.h"
#include "stdlib.h"typedef unsigned char u8;
typedef signed char s8;typedef unsigned short u16;
typedef signed short s16;typedef unsigned int u32;
typedef signed int s32;int main() {u8 u8Num = 42;u8 u8StrFromInt[20]; // 适当大小的字符数组snprintf(u8StrFromInt, sizeof(u8StrFromInt), "%d", u8Num); // 使用sizeof来确保不会溢出printf("String from int: %s\n", u8StrFromInt);return 0;
}

用到的函数:snprintf函数和sprintf函数的区别

sprintf函数无法检查目的缓冲区是否溢出,相反,snprintf函数要求第二个参数指定目的缓冲区的大小,因此可以确保该缓冲区不溢出。

2.2 字符串 转为 整数

/*
******************************************************************************
,*  Function Name: 
,*  Author: By yangbocsu
,*  Created: 2023.08.20
,*  Description: 
,*  Parameters:Non
,* Returns: 0.
******************************************************************************
*/#include "stdio.h"
#include "string.h"
#include "stdlib.h"typedef unsigned char u8;
typedef signed char s8;typedef unsigned short u16;
typedef signed short s16;typedef unsigned int u32;
typedef signed int s32;int main() {// 字符串 转为 整数u8 u8NumStr[] = "123";u32 u32IntFromStr = atoi(u8NumStr);printf("u32IntFromStr = %d\n", u32IntFromStr);return 0;
}
  • atoi函数原型:int atoi(const char *str)
#include<iostream>
using namespace std;
int atio1(char *s)
{
int sign=1,num=0;if(*s=='-')sign=-1;s++;while((*s)!='\0'){num=num*10+(*s-'0');s++;}   return num*sign;   
}

三、浮点数 <----> 字符串

3.1 浮点数 转换为 字符串

/*
******************************************************************************
,*  Function Name: 
,*  Author: By yangbocsu
,*  Created: 2023.08.20
,*  Description: 
,*  Parameters:Non
,* Returns: 0.
******************************************************************************
*/#include "stdio.h"
#include "stdlib.h"
#include "string.h"typedef unsigned char u8;
typedef signed char s8;typedef unsigned short u16;
typedef signed short s16;typedef unsigned int u32;
typedef signed int s32;int main() {// 浮点数转为字符串float f = 3.14159;u8 u8StrFromFloat[20]; // 适当大小的字符数组snprintf(u8StrFromFloat, sizeof(u8StrFromFloat), "%.2f", f); // 控制小数点位数printf("u8StrFromFloat = %s\n", u8StrFromFloat);return 0;
}

3.2 字符串 转换为 浮点数

/*
******************************************************************************
,*  Function Name: 
,*  Author: By yangbocsu
,*  Created: 2023.08.20
,*  Description: 
,*  Parameters:Non
,* Returns: 0.
******************************************************************************
*/#include "stdio.h"
#include "stdlib.h"
#include "string.h"typedef unsigned char u8;
typedef signed char s8;typedef unsigned short u16;
typedef signed short s16;typedef unsigned int u32;
typedef signed int s32;int main() {// 字符串转为浮点数u8 u8FloatStr[] = "2.71828";float FloatFromStr = strtof(u8FloatStr, NULL);printf("FloatFromStr = %.5f\n", FloatFromStr);return 0;
}
http://www.wooajung.com/news/649.html

相关文章:

  • 网站开发技能证书竞价排名推广
  • 广州监狱门户网站百度竞价投放
  • 微软手机做网站服务器吗淘宝数据查询
  • sql网站开发2345王牌浏览器
  • 做互联网小程序 和网站有没有前景广州最新消息今天
  • 一个独立IP做几个网站比较合适哈市今日头条最新
  • 郁金香导航 汕头大学网址大全百度seo排名优化公司
  • zencart网站地图插件跨境电商平台哪个最好最可靠
  • 满洲里网站制作网站联盟
  • app开发定制公司seo关键词布局
  • 织梦网站网址变了如何搬家快速优化排名公司推荐
  • 网站改版开发公司百度站长平台链接提交
  • 高州手机网站建设公司宁波网站推广方案
  • 设计发明的网站中央电视台新闻联播广告价格
  • 楼盘网站建设案例官网优化哪家专业
  • 石河子做网站宁波seo网站推广软件
  • 怎样做网站标题优化百度seo什么意思
  • 做二手车网站怎么做的aso优化方案
  • 服装电子商务的网站建设如何做线上销售和推广
  • 深圳企业推广网站排名百度网站管理员工具
  • 网站后期维护和管理怎么做注册百度账号
  • 芜湖营销型网站建设品牌策划公司排行榜
  • 网站可以做多少个网页成全视频免费观看在线看
  • 消防器材网站建设背景定制网站制作公司
  • 专业建网站 成都江苏网站建设制作
  • 做网站的是些什么公司专业软文代写
  • 项目建设流程优化排名seo
  • 招一个程序员可以做网站吗优化网站排名解析推广
  • wordpress首页加登录深圳知名网络优化公司
  • 济南网站制作公司报价如何创造一个自己的网站