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

3
我用arduino代码语言(C或C++?)编写了以下代码,但我感到困惑,我不确定这是C或C++的限制。 我的函数应该分割文本字符串并返回第x个单词。 在我的函数中,我需要清空一个字符串变量,直到达到X为止。 为了方便阅读,X被称为wordcount。
如何清空字符串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' 也可以,可能混淆了一些语言语法,这不是一个好习惯。 - user613326
只要你确实是指一个单个字符,你可以使用单引号,但不能用于不包含任何字符的字符串。请查看下面的答案,并在认为可以的情况下接受。 - codah
1个回答

7

不存在“空字符”的概念。你不能用这种方式初始化你的字符串(对象)。相反,使用一个空的(小写"s")字符串 "";

WordSampleN = "";

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接