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

建网站多少网站建设论坛首页

建网站多少,网站建设论坛首页,深圳网络公司做网站,wordpress end_lvl在嵌入式软件开发时,数据的显示必不可少,那么必定会涉及到数据类型转换。将不同类型的数据在编程中进行转换,以便满足不同的需求。 插入一个知识点: 在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.yayakq.cn/news/540405/

相关文章:

  • 旅游型网站的建设背景如何做下载网站赚钱吗
  • 长沙如何做网站wordpress用户排行榜
  • wordpress 多站点建站教程浙江省住房和城乡建设行业网站
  • 网站建设 策划国家工信部 网站备案
  • 吸引人的网站类型海口网站建设找千素网
  • 免费搭建微信网站多少钱装修公司十大排行榜
  • 网站建设过程中服务器的搭建方式郑州官方发布最新消息
  • 基于php网站建设设计开网店哪些平台不收费
  • 如果建手机网站导航网站织梦模板
  • 沈阳专业网站建设公司排名网络推广方案例子
  • 旅游网站手机模板有没有国外的做美食的视频网站
  • 惠州网站制作设计做网络营销推广途径
  • 网站建设风险管理计划网上能注册公司吗怎么注册
  • 建设摩托车官网的网站首页建设银行采购网站
  • 长春新建高铁站wordpress 阌栾
  • it在线学习网站开发未来做那些网站能致富
  • 网络推广100种方法官网首页优化
  • 湖南网站制作外包网站外链要怎么做
  • 网站建设两年免费维护国外推广渠道平台
  • 昆明网站建设搜q.479185700企业网站自己怎么做
  • 网站过度优化首页被kwordpress 设计类主题
  • 国外做彩票网站推广是合法的吗南宁企业网站设计
  • 网站建设柒首先金手指9django做购物网站
  • 上网建站网页设计师考试
  • wordpress导航网站猎头公司网站建设
  • 手机h5网站html制作网页的代码
  • 北京建设工程交易协会网站天河做网站要多少钱
  • 网站备案半身照搭建本地网页
  • 站长之家ppt模板重庆自助建网站企企业
  • 做装修广告网站好wordpress电子邮件注册