En una expresión que usa ==
, los nombres de las matrices char
decaen en char*
señalando el inicio de sus respectivas matrices. La comparación se realiza en términos de los valores de los punteros y no de los contenidos reales de las matrices.
==
solo devolverá true para dos punteros que apuntan a la misma ubicación y falso, en caso contrario, incluso si apuntan a dos matrices con contenido idéntico.
Lo que necesita es la función de biblioteca estándar strcmp
. Esta expresión se evalúa como verdadera si las matrices contienen los mismos contenidos (hasta el carácter nulo de terminación que debe estar presente en ambas matrices desde strcmp
para funcionar de forma segura).
strcmp(charTime, buf) == 0
btw: 'char []' es un tipo incompleto. 'charTime' es en realidad de tipo' char [5] 'y' buf' es en realidad de tipo 'char [14]'. El compilador cuenta para nosotros en este caso para completar el tipo. – sellibitze