Red de conocimiento informático - Computadora portátil - ¿Existe alguna función en lenguaje C que pueda convertir directamente una cadena al formato de hora?

¿Existe alguna función en lenguaje C que pueda convertir directamente una cadena al formato de hora?

Porque en la vida real, el tiempo en forma de cadena puede tener múltiples formas, como año, mes, día o año, mes, día, y los delimitadores en el medio también pueden ser diferentes. Por tanto, el lenguaje C no proporciona dicha función de conversión.

Puedes escribir tu propia función de conversión si es necesario, siempre que sepas cómo organizar las cadenas.

Hay dos ideas:

1 Pasar una cadena, analizar cada carácter poco a poco y comprobar inteligentemente si hay separadores entre números. Luego, saque el valor de cada bit según el delimitador, como año, mes, día, hora, minuto y segundo. El valor final se asignará a la variable miembro correspondiente de la estructura de tiempo.

2 Utilice sscanf para construir la cadena de formato correspondiente de acuerdo con el formato acordado y extraiga el valor en la variable correspondiente.

Al comparar estos dos métodos, el primer método requiere más código, pero puede ser compatible con métodos de entrada más complejos, lo que hace que la entrada sea más flexible y el programa más robusto. El segundo método es adecuado para situaciones en las que el formato de entrada se ha acordado estrictamente y puede lograr el efecto con la menor cantidad de código.