C 将日期指针与日期进行比较

C 将日期指针与日期进行比较,c,arduino,C,Arduino,在Arduino脚本中,如何将日期指针与作为日期的字符串进行比较。目前我正在尝试: while(year(t)=="1970") { getTime(); } 但是我得到了一个无法比较指针和字符串编译器的错误,我理解,但是我想以某种方式比较这两个错误,这就是我遇到的问题。感谢您对这个新手的帮助比较字符串应该使用strcmp()而不是=操作符 您实际上是在比较指针,而不是字符串,方法是使用=我将导入 然后使用strcmp()比较两个字符串: 就你而言 if (strcmp(st

在Arduino脚本中,如何将日期指针与作为日期的字符串进行比较。目前我正在尝试:

while(year(t)=="1970") {  
    getTime();
   }

但是我得到了一个无法比较指针和字符串编译器的错误,我理解,但是我想以某种方式比较这两个错误,这就是我遇到的问题。感谢您对这个新手的帮助

比较字符串应该使用
strcmp()
而不是
=
操作符

您实际上是在比较指针,而不是字符串,方法是使用
=

我将导入
然后使用
strcmp()
比较两个字符串:

就你而言

if (strcmp(string1,string2) == 0) {
  //Some good stuff :)
}
C不支持字符串之间的直接比较。 这是因为字符串是
char
数组,应该正确操作

通常,需要一个for循环来进行适当的比较,但是在这种情况下,使用库函数就很容易了,这样做完全相同

为了让它知道,为了比较你会使用

for(i=0;s[i]!='\0';i++) {
  //Loop till end of string
  //Check if every char of string 1 is equal to the one in the same position of string 2
}
希望这是有帮助的

致以最良好的祝愿

if(year(t)==1970)
{
    getTime();
}

year()返回4位年份整数。不是字符串。

您是在问如何取消引用指针吗?像今年(*t)一样,你显然也是编程新手-最好先学习编程基础知识-没有这些知识,你可能永远无法实现你的目标。上面的代码片段将永远循环,有效地锁定微处理器。Arduino代码不是用C编写的。
year()
getTime()
不是标准Arduino API的一部分。你应该声明你使用的是哪些库,更重要的是,你要完成的任务。@专门:它实际上是C++。这就是我需要的。谢谢我学到了一些东西。