如何在Arduino c语言中清空字符串

Posted

技术标签:

【中文标题】如何在Arduino c语言中清空字符串【英文标题】:How to empty a string in Arduino c language 【发布时间】:2014-03-23 23:55:45 【问题描述】:

我用 arduino 代码语言(c 或 c++?)编写了以下内容 我很困惑,我不确定这是 C 还是 C++ 的限制。 我的函数应该拆分一个文本字符串并返回字数 x 在我的函数中,我需要清理一个字符串变量,它会重置其竞争,直到达到 X 为了便于阅读,X 被称为字数。

如何清理字符串 Wordsample 使其再次为空? 附带说明一下,如果没有找到这个词,那么这个函数也应该什么也不返回 由于结果用于制作其他字符串。

String GetSubString (String A,int Wordcount) //for readability start counting B from 1
   int CounterX;
String WordSampleN;
String result ;
for (int i = 0; i < A.length(); i++)
   // split string
    WordSampleN = WordSampleN + A[i];
    if ((A[i] == ' ') || (A[i] =='\n'))
       CounterX++;
        if (CounterX == Wordcount)
           result = WordSampleN;
        
        if (CounterX <> WordCount)
           WordSampleN = '';  //  <== ERROR IS HERE 
        
    

return result;

附带说明,如果可能的话,我想继续使用任何大小的字符串,而不是固定的字符串。

【问题讨论】:

除了代码中的一些其他错误之外,它没有使它工作。我认为您在正确的双引号起作用的地方。有点奇怪,因为带单引号的 A[i] == '\n' 也可以,可能在这里混合了一些语言语法,这不是一个好习惯 您可以使用单引号,只要您实际上指的是单个字符,而不是不包含任何字符的字符串。请在下面查看我的回答,如果您认为可以,请接受。 【参考方案1】:

没有“空字符”的概念。您不能以这种方式初始化您的字符串(对象)。相反,使用空(小-“s”)字符串“”;

WordSampleN = "";

这将调用采用 c 风格字符串的 String 构造函数,并使用空字符串初始化您的 String 对象。

【讨论】:

以上是关于如何在Arduino c语言中清空字符串的主要内容,如果未能解决你的问题,请参考以下文章

c语言中怎么把一个数组清空

C语言中 如何把字符串中某一位清空?

C语言如何实现取字符串的一部分?

C语言中,如何将一串字符数组形成字符串

C语言问题 字符(串)替换

怎么用memset清空字符数组?