请问哪里能下载Arduino的String.h字符串库文件-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 4905|回复: 7

[未解决] 请问哪里能下载Arduino的String.h字符串库文件

[复制链接]
发表于 2019-7-10 09:25 | 显示全部楼层 |阅读模式
请问哪里能下载Arduino的String.h字符串库文件?谢谢
发表于 2019-7-10 09:52 | 显示全部楼层
没见过。。。如果只是用string类型,这个是自带的,直接用就行了。。。。
发表于 2019-7-10 12:47 | 显示全部楼层
arduino有这个库的
 楼主| 发表于 2019-7-10 13:36 | 显示全部楼层
奈何col 发表于 2019-7-10 09:52
没见过。。。如果只是用string类型,这个是自带的,直接用就行了。。。。

感谢回复,我再试下
 楼主| 发表于 2019-7-10 13:37 | 显示全部楼层
hqsmpp 发表于 2019-7-10 12:47
arduino有这个库的

感谢回复,对字符串的处理很陌生,我试试
发表于 2019-7-11 15:27 | 显示全部楼层
best900 发表于 2019-7-10 13:37
感谢回复,对字符串的处理很陌生,我试试

https://blog.csdn.net/broadce/article/details/43319201
看看这个
发表于 2019-7-11 17:35 | 显示全部楼层
库文件是已经被编译好的,一般有 .a .o 这样的扩展名;你想看库文件的源文件基本没可能,最多是 .h 文件
发表于 2021-10-28 23:19 | 显示全部楼层
我当时也是搞到头都疼。因为在学C语言时候,直接调用STRING的头文件的。在这里我也研究了好久,原来有它自己的方式  以下是我搜集的资料。。你可以看看写法
希望帮助到你

首先介绍下Arduino中处理字符串的常用方法:


charAt(n)----返回字符串中第n个字符

compareTo(S2)----和给的S2字符串比较

concat(S2)----返回字符串和字符串S2合并后的新字符串

endsWith(S2)----如果字符串是以S2结尾的就返回TRUE

equals(S2)----如果字符串和S2完全相符,就返回TRUE

equalsIgnoreCase(S2)----和equal一样,但是不限制大小写

getBytes(buffer,len)----拷贝提供的字符长度到字节缓冲中

indexOf(S)----返回提供的字符串的索引,如果没有就返回-1

lastIndexOf(S)----和indexOf()一样,但是从字符串尾部开始

length()----返回字符串中的字符数

replace(A,B)----用字符串B替换A

setCharAt(index,c)----把c存储在给定的字符串的索引位置

startsWith(S2)----如果字符串以S2开始就返回TRUE

substring(index)----返回一个从给定索引到结尾的新的字符串

substring(index,to)----同上,但是到给定的to为结束的新的字符串

toCharArray(buffer,len)----从字符串0长度开始到给定的缓冲长度拷贝

toInt()----返回字符串中数字为整数值

toLowerCase()----把字符串全部转化为小写

toUpperCase()----把字符串全部转化为大写

trim()----返回一个去前后空格的字符串

例子一:保存字符串特定有效位      
arduino如何串口接收以特定字符为开头的字符串并且保存特定字符之后的有效位。如串口输入a11,判断字符串第一个字符为a,若为a则保存之后的数值11到comdata。

String inString = ""; // string to hold input
int comdata;


void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
}


void loop() {
// put your main code here, to run repeatedly:
  while (Serial.available() > 0) {
      int inChar = Serial.read();
        if ((char)inChar == 'a') {
         do {
             inChar = Serial.read();
             inString += (char)inChar;
                  }
        while (isDigit(inChar));
              comdata=inString.toInt();
         Serial.println(comdata);
         inString = "";
                 }
          }
        inString = "";
     delay(200);
}
例子二:字符串处理 - 分离字符串
          这里用到了Arduino中带的substring( )方法 与java中的类似

/*
将用逗号分隔的字符串分离出来
*/

String  message= "A,B,C"; //要分离的字符串

int commaPosition;//存储还没有分离出来的字符串  

void setup()

{

  Serial.begin(9600);//打开串口,设置波特率为9600

}

void loop()

{

  Serial.println(message);//串口打印要分离的字符串         

  do

  {

      commaPosition = message.indexOf(',');//检测字符串中的逗号

      if(commaPosition != -1)//如果有逗号存在就向下执行

      {

          Serial.println( message.substring(0,commaPosition));//打印出第一个逗号位置的字符串

          message = message.substring(commaPosition+1, message.length());//打印字符串,从当前位置+1开始

      }

      else

      { //找到最后一个逗号,如果后面还有文字,就打印出来

         if(message.length() > 0)

           Serial.println(message);  

                                    

      }

   }

   while(commaPosition >=0);

   delay(5000);
}

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 21:38 , Processed in 0.074832 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表