Arduino字符串笔记
Arduino里的字符串笔记
1 字符串转数字 String To Int
/*
使用String.toInt()将字符串转为数字示例
*/
String inString = ""; // string to hold input
void setup() {
// Open serial communications and wait for port to open:
Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for native USB port only
}
// send an intro:
Serial.println("\n\nString toInt():");
Serial.println();
}
void loop() {
// Read serial input:
while (Serial.available() > 0) {
int inChar = Serial.read();
if (isDigit(inChar)) {
// convert the incoming byte to a char
// and add it to the string:
inString += (char)inChar;
}
// if you get a newline, print the string,
// then the string's value:
if (inChar == '\n') {
Serial.print("Value:");
Serial.println(inString.toInt());
Serial.print("String: ");
Serial.println(inString);
// clear the string for new input:
inString = "";
}
}
}
2 数字转字符串 IntTo String
- 直接赋值
String myNumber = 1234;
- 使用类成员函数转换,将数字自动追加到字符串结尾
int value = 123;
String myReadout = "The reading was ";
myReadout.concat(value);
- 使用类运算符转换,将数字自动追加到字符串结尾
int value = 123;
String myReadout = "The reading was ";
myReadout += value;
3 常见函数整理
String.c_str()
一个将string转换为 const* char的函数。
c_str函数的返回值是const char的,不能直接赋值给char
String s = "Chelse";
const char *str = s.c_str();
strcpy
原型声明:char *strcpy(char* dest, const char *src);
strcpy(A, B.c_str());//将B复制给A
sprintf
把整数123 打印成一个字符串保存在s 中。
char *s;
sprintf(s, "%d", 123); //产生"123"
4 char*,const char*和string 三者转换
1. const char* 和string 的转换
(1) const char*转换为 string,直接赋值即可。
const char* tmp = "tsinghua"
string s = tmp;
(2) string转换为const char*,利用c_str()
string s = "Arduino";
const char*tmp = s.c_str();
2. char*和const char* 的转换
(1) const char*转化为char*,利用const_cast<char*>
const char* tmp = "Arduino";
char* p = const_cast<char*>(tmp);
(2) char*转化为const char*,直接赋值即可。
char* p = "tsinghua"
const char* tmp = p;
3. char*和string 的转换
有了1和2的基础,char*和string转化就很简单了。
(1)char*转化为string,直接赋值即可。
char* p = "Arduino"
string str = p;
(2)string转化为char*,走两步,先是string->const char,然后是const char->char*
string str = "Arduino";
char* p = const_cast<char*>(str.c_str());
Arduino字符串笔记的更多相关文章
- Arduino学习笔记① 初识Arduino
1.前言 近段时间,博主陆续更新了ESP8266学习笔记,主要开发平台是Arduino.但是,对于很多无基础的初学者来说,甚至不了解Arduino是什么.因此,博主决定加入一个Arduino学 ...
- Arduino学习笔记A6(补充) - 在串口读取多个字符串,并且转换为数字数组
功能如题目. 在串口收到逗号分割的6串数字比如 100,200,45,4,87,99 然后在6个PWM端口3, 5, 6, 9, 10, 11输出对应PWM值 代码注释很详细了,就不再说明了. ARD ...
- Arduino入门笔记(5):1602液晶实验(实现时钟)
转载请注明:@小五义 http://www.cnblogs.com/xiaowuyi 欢迎加入讨论群 64770604 一.本次实验所需器材 1.Arduino板 https://item.taoba ...
- Arduino入门笔记(4):用蜂鸣器演奏音乐并配有LED闪烁
转载请注明:@小五义 http://www.cnblogs.com/xiaowuyi 欢迎加入讨论群 64770604 一.本次实验所需器材 1.Arduino板 https://item.taoba ...
- Arduino入门笔记(3):单LED闪烁
转载请注明:@小五义http://www.cnblogs.com/xiaowuyi 欢迎加入讨论群 64770604 在搭建好arduino开发环境(http://www.cnblogs.com/xi ...
- Arduino入门笔记(2):Arduino的开发和virtualbreadboard仿真环境
欢迎加入讨论群 64770604 1.开发环境 (1)下载开发环境 Arduino的开发环境从http://arduino.cc/en/Main/Software官网下载即可,分为windows版本. ...
- Arduino学习笔记⑧ 红外通信
1.前言 红外通信是一种利用红外光编码进行数据传输的无线通信方式,在目前来说是使用非常广泛的.生活中常见电视遥控器,空调遥控器,DVD遥控器(现在估计是老古董了),均使用红外线遥控.使用红外线 ...
- Arduino学习笔记② Arduino语言基础
授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石... QQ技术互动交流群:ESP8266&3 ...
- php字符串笔记
1.explode:英语的意思就是爆炸,此函数用于将字符串切成数组 2.implode:英语意思是向心聚,将数据拼成字符串. 3.substr:截取字符串,从指定位置截取指定长度,不指定就到最后 4. ...
随机推荐
- ArrayDeque API 与算法分析
ArrayDeque 是双端队列的动态数组实现,可以当作栈和队列来使用.作为栈时,它的效率比 Stack 更高,作为队列时,效率比 LinkedList 更高.ArrayDeque 大部分操作的时间复 ...
- 【转】借助LVS+Keepalived实现负载均衡
一.负载均衡:必不可少的基础手段 1.1 找更多的牛来拉车吧 当前大多数的互联网系统都使用了服务器集群技术,集群即将相同服务部署在多台服务器上构成一个集群整体对外提供服务,这些集群可以是Web应用服务 ...
- ORACLE的还原表空间UNDO写满磁盘空间,解决该问题的具体步骤
产生问题的原因主要以下两点:1. 有较大的事务量让Oracle Undo自动扩展,产生过度占用磁盘空间的情况:2. 有较大事务没有收缩或者没有提交所导制:说明:本问题在ORACLE系统管理中属于比较正 ...
- MongoDB的管理-深度长文
(1) 启动和停止MongoDB: Ubuntu18下启动关闭MongoDB 启动MongoDB: 方法一: systemctl start mongod.service 方法二: 在MongoDB的 ...
- 用js实现打印九九乘法表
用js在打印九九乘法表 思考 在学习了流程控制和条件判断后,我们可以利用js打印各式各样的九九乘法表 不管是打印什么样三角形九九乘法表,我们都应该找到有规律的地方,比如第一列的数字是什么规律,第一行的 ...
- Openstack Nova 控制服务 和 计算服务 (六)
Openstack Nova 控制服务 和 计算服务 (六) 引用: https://docs.openstack.org/ocata/zh_CN/install-guide-rdo/nova.htm ...
- http-请求和响应报文的构成
请求的构成: 1)请求方法URI协议/版本 2)请求头(Request Header) 3)请求正文 1)请求方法URI协议/版本 Request URL: http://localhost:8080 ...
- 技术实践丨React Native 项目 Web 端同构
摘要:尽管 React Native 已经进入开源的第 6 个年头,距离发布 1.0 版本依旧是遥遥无期."Learn once, write anywhere",完全不影响 Re ...
- 【Linux】rsync 守护进程的配置
环境 centos7.2 1.首先查看是否安装rsync的相关包 rpm -qa | grep rsync rsync-3.1.2-4.el7.x86_64 如果没安装就yum install rsy ...
- 什么是开发中经常说的'POCO'
什么是开发中经常说的'POCO'Posted By : 蓝狐Updated On : 2015-07-19在看一些EF的文章,经常提到POCO这个词,但是,有没有比较详细的说这个POCO是什么意思呢? ...