如何在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语言中清空字符串的主要内容,如果未能解决你的问题,请参考以下文章