【问题标题】:How to empty a string in Arduino c language如何在Arduino c语言中清空字符串
【发布时间】: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' 也可以,可能在这里混合了一些语言语法,这不是一个好习惯
  • 您可以使用单引号,只要您实际上指的是单个字符,而不是不包含任何字符的字符串。请在下面查看我的回答,如果您认为可以,请接受。

标签: c++ c string arduino


【解决方案1】:

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

WordSampleN = "";

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-24
    • 2023-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多