Em um script Arduino, como faço para comparar um ponteiro de data com uma string que é uma data. Atualmente estou tentando:
while(year(t)=="1970") {
getTime();
}
mas estou ficando um não pode comparar um ponteiro com umErro de compilador de seqüência de caracteres que eu entendo, mas eu gostaria de comparar os dois de alguma forma e de alguma forma é onde estou preso. Obrigado por qualquer ajuda para este novato
Respostas:
1 para resposta № 1if(year(t)==1970)
{
getTime();
}
year () retorna um inteiro de 4 dígitos. não é uma string.
1 para resposta № 2
Comparar strings deve ser feito usando strcmp()
não com ==
operador
Você está realmente comparando os ponteiros e não as cordas usando ==
0 para resposta № 3
Eu importaria <string.h>
Então use strcmp()
para comparar as duas strings:
No seu caso
if (strcmp(string1,string2) == 0) {
//Some good stuff :)
}
C não suporta comparação direta entre strings. Isso porque as cordas são char
matrizes e deve ser manipulado adequadamente
Geralmente, um loop for é necessário para fazer uma comparação adequada, mas neste caso é muito fácil usar uma função de biblioteca, que faz exatamente a mesma coisa
Só para saber, para comparar você usaria algo como
for(i=0;s[i]!=" ";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
}
Espero que isso tenha sido útil.
Cumprimentos.