Llamada del sistema de rPtime de Linux en c

Llamada del sistema de rPtime de Linux en c
La función strpTime () utiliza la sintaxis dada por el formato para convertir la cadena de caracteres referenciada por el búfer en datos que se colocan en la estructura "TM" a la que "TM". Aquí, el formato contiene una o varias directivas, pero no cero. Se puede encontrar una especificación de conversión o un carácter regular (no% o espacio en blanco) en una directiva. Cada especificación de conversiones consiste en un carácter de "%" que comprende uno o más caracteres de conversión que definen el reemplazo que se realizará que indica que el reemplazo es necesario. Para verificar que la función funcione como se esperaba, tanto el formato como el búfer deben tener un espacio en blanco u otro separador. Para mantener la conversión del primer número de los caracteres de conversión que corresponden al segundo especificador de conversión, debe haber un separador entre las dos conversiones de cadena a número.

Ejemplo 1:

Sigamos el siguiente ejemplo para ver la funcionalidad de la función de strptime en el lenguaje C. Aquí, hemos impreso el año con la función de strptime. Como estamos en el año "2022", la función de strptime se realizará este año. Dentro del archivo de programa de C, hemos ingresado el archivo de encabezado "Tiempo.h "a través del cual podemos obtener la información de fecha y hora. Después de eso, establecimos la función en el main () del programa.

A continuación, hemos creado el búfer para la asignación de espacio para nuevos datos. El búfer está etiquetado como el "resultado" y el tipo de datos asignado al búfer es char. Hemos establecido el tamaño del "resultado" del búfer con el valor "100". Luego, construimos la variable "tiempo" con el tipo de datos "Time_t" que almacena el valor de tiempo del sistema en el idioma C. La variable "tiempo" se inicializa con la llamada del sistema "Tiempo (NULL)". Con esta llamada del sistema de tiempo, se recuperará la hora actual.

Después de eso, empleamos la función strpTime que toma la función de "resultado", "sizeOf" y la función local de tiempo como argumentos. La función local de tiempo ingresa la referencia del "tiempo" y se utiliza para representar la hora actual de nuestro sistema. Además, hemos utilizado el modificador "%y" en la función de strptime, que se utiliza para mostrar el año en el siglo. En la última línea del programa, tenemos una declaración printf en la que hemos utilizado el %s. El especificador de formato %s de la función printf nos permite imprimir una cadena. El usuario recibió un mensaje que incluía el año actual.

#incluir
#incluir
int main (int argc, const char * argv [])

resultado de char [100];
Time_t Time;
Tiempo = tiempo (nulo);
strftime (resultado, sizeof (resultado), "%y", local tiempo (y tiempo));
printf ("Estamos en año %s !\ n ", resultado);
regresar 0;

Cuando hemos ejecutado el programa StrpTime, el año actual "2022" se obtiene en el shell del sistema.

Ejemplo 2:

Hemos visto el rendimiento de la función de strpTime en el programa de ejemplo anterior. Como hemos discutido anteriormente, la función de strpTime admite varios modificadores en el idioma C. En este ejemplo, hemos tratado de usar algunos de los modificadores de strptime para explorar su funcionalidad. Aquí, hemos utilizado la Directiva #Define para agregar la definición _xopen_source en la sección de encabezado del siguiente programa. Se utiliza para ingresar las definiciones adicionales de funciones que existen en los estándares x/Open y Posix.

A continuación, también hemos agregado algunos módulos requeridos de estándares C para la implementación del programa. Después de eso, construimos la función principal donde establecimos la estructura "TM" para definir el tiempo. Hemos declarado el objeto "tm" para la "estructura tm". Luego, establecemos el tamaño del búfer en "100" para la función de strptime. Hemos implementado la función MemSet, que se conoce como el setter de memoria. Como su nombre indica, se usa para llenar los bloques de memoria con valor semántico.

Luego, invocamos la función de strpTime donde dimos los datos y el formato de tiempo con los modificadores de strptime. El modificador "%y" se usa para indicar el año. "%M-%D" se usa para representar el mes y el día. El modificador "%H:%m:%s" está formateado de una manera que proporcionará el tiempo en horas, minutos y segundos. Además, hemos utilizado otra función, Strftime, para diferenciar de la función de strpTime.
La función de strftime creó los caracteres desde el objeto de tiempo. Toma el argumento como un búfer, el tamaño del amortiguador y algunos modificadores. Luego, la función pone el "búfer". Se mostrará el formato especificado de la fecha y la hora.

#define _xopen_source
#incluir
#incluir
#incluir
#incluir
En t
principal (nulo)

estructura tm tm;
buffer de char [100];
memset (& tm, 0, sizeof (struct tm));
strpTime ("2022-10-9 12:25:05", "%y-%m-%d%h:%m:%s", & tm);
strftime (búfer, sizeOf (búfer), " %d %b %y %h: %m", y tm);
pone (búfer);
salir (exit_success);

Al ejecutar el programa, hemos obtenido los datos y el tiempo en el formato especificado dado a la función.

Ejemplo 3:

Aquí, hemos mostrado la fecha y la hora de la región de los EE. UU. Mediante el uso de la función StrpTime. Hemos insertado bibliotecas estándar en el siguiente programa. A continuación, implementamos la función principal donde establecemos el tamaño del búfer. Después de eso, hemos definido el objeto "tiempo" con el tipo de datos "Time_t". A continuación, hemos establecido la estructura "TM" que declara el objeto del puntero "TIMEPTR" y "Resultado". Luego, llamamos a la función setLocale donde establecemos la configuración regional actual. El objeto "tiempo" se establece con la llamada del sistema de tiempo, que toma nulo como un valor.

Al TIMEPTR, hemos asignado la función LocalTime, a la que se hace referencia el "tiempo". Se emplea la función Strftime, que se asigna la fecha y hora formateadas. Entonces, tenemos una condición if-else donde la condición if toma la función de strptime con los argumentos. Cuando la hora y la fecha especificadas dentro de la función de strpTime es nula, entonces la instrucción printf se ejecutará. De lo contrario, tenemos otra sección para ser ejecutada. La porción de lo contrario tiene varias declaraciones printf que utilizan los diferentes modificadores para la fecha y la hora.

#define _xopen_source
#incluir
#incluir
#incluir
#incluir
#incluir
int main (nulo)

char buf [100];
Time_t Time;
struct tm *timEptr, resultado;
SetLocale (LC_ALL, "/QSYS.Lib/en_us.LUGAR");
Tiempo = tiempo (nulo);
TIMEPTR = LOCALTIME (& TIME);
strftime (BUF, sizeof (BUF), "%a%m/%d/%y%r", TIMEPTR);
if (strpTime (buf, "%a%m/%d/%y%r", y resultado) == nulo)
printf ("\ nstrptime fallido \ n");
demás

printf ("Tiempo en hora: %d \ n", resultado.tm_hour);
printf ("Tiempo en min: %d \ n", resultado.tm_min);
printf ("Tiempo en la Sec: %d \ n", resultado.tm_sec);
printf ("Tiempo en lun: %d \ n", resultado.tm_mon);
printf ("Tiempo en mes y día: %d \ n", resultado.tm_mday);
printf ("Tiempo en el año: %d \ n", resultado.tm_year);
printf ("Hora en año y día: %d \ n", resultado.tm_yday);
printf ("Hora en semana y día: %d \ n", resultado.tm_wday);

regresar 0;

Los siguientes datos y el tiempo convertidos se ejecutan con cada modificador de la función StrpTime.

Conclusión

Esta guía es para la función de strpTime de Linux en el lenguaje de programación C. Hemos explicado la funcionalidad de esta función en particular con los códigos de ejemplo. Hemos implementado lo anterior y todos los códigos son ejecutables con el Ubuntu 22.04 terminal. Además, hemos visto la diferencia entre las dos funciones, la strptime y el strftime, que de alguna manera son idénticos. La función de strpTime crea una salida de tiempo del texto, la entrada y la función strftime proporciona los datos de cadena de la entrada de tiempo.