Exemplo 1:
Vamos seguir o exemplo abaixo para ver a funcionalidade da função strptime na linguagem C. Aqui, imprimimos o ano com a função strptime. Como estamos no ano "2022", a função STRPTIME será produzida este ano. Dentro do arquivo de programa de C, inserimos o arquivo de cabeçalho “Time.H ”através do qual podemos obter as informações de data e hora. Depois disso, estabelecemos a função no principal () do programa.
Em seguida, criamos o buffer para a alocação de espaço para novos dados. O buffer é rotulado como o "resultado" e o tipo de dados atribuído ao buffer é char. Definimos o tamanho do "resultado" do buffer com o valor "100". Em seguida, construímos a variável "tempo" com o tipo de dados "time_t", que armazena o valor do tempo do sistema na linguagem C. A variável "tempo" é inicializada com a chamada do sistema "time (nulo)". Com essa chamada do sistema de tempo, o horário atual será recuperado.
Depois disso, empregamos a função STRPTIME que leva o "resultado", a função "sizeof" e a função local da hora como argumentos. A função local da hora insere a referência do "tempo" e é usada para representar o tempo presente do nosso sistema. Além disso, usamos o modificador "%y" na função Strptime, que é usada para exibir o ano no século. Na última linha do programa, temos uma instrução PRINTF onde usamos o %s. O especificador de formato %s da função printf nos permite imprimir uma string. O usuário recebeu uma mensagem que incluiu o ano atual.
#incluir
#incluir
int main (int argc, const char * argv [])
resultado de char [100];
tempo_t tempo;
Tempo = tempo (nulo);
strftime (resultado, sizeof (resultado), "%y", localTime (& time));
printf ("Estamos no ano %s !\ n ", resultado);
retornar 0;
Quando executamos o programa STRPTIME, o ano atual “2022” é obtido no shell do sistema.
Exemplo 2:
Vimos o desempenho da função strptime no programa de exemplo anterior. Como discutimos anteriormente, a função STRPTIME suporta vários modificadores no idioma C. Neste exemplo, tentamos usar alguns dos modificadores strptime para explorar sua funcionalidade. Aqui, usamos a diretiva #Define para adicionar a definição _xopen_source na seção de cabeçalho do seguinte programa. É usado para inserir as definições extras de funções existentes nos padrões x/aberto e posix.
Em seguida, também adicionamos alguns módulos necessários dos padrões C para a implementação do programa. Depois disso, construímos a principal função em que estabelecemos a estrutura "tm" para definir o tempo. Declaramos o objeto "tm" para o "struct tm". Em seguida, definimos o tamanho do buffer como "100" para a função strptime. Nós implantamos a função do MEMSET, que é conhecida como Setter de Memória. Como o nome sugere, é usado para preencher os blocos de memória com valor semântico.
Em seguida, invocamos a função strptime, onde demos os dados e o formato de tempo com os modificadores strptime. O modificador "%y" é usado para indicar o ano. "%M-%d" é usado para representar o mês e o dia. O modificador “%h:%m:%s” é formatado de uma maneira que proporcione o tempo em horas, minutos e segundos. Além disso, utilizamos outra função, strftime, para se diferenciar da função strptime.
A função strftime criou os caracteres do objeto do tempo. Ele toma o argumento como um buffer, o tamanho do buffer e alguns modificadores. Em seguida, coloca a função mantém o "buffer". O formato especificado de data e hora será exibido.
#Define _Xopen_source
#incluir
#incluir
#incluir
#incluir
int
Principal (vazio)
estrutura 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 (buffer, sizeof (buffer), " %d %b %y %h: %m", & tm);
puts (buffer);
saída (exit_success);
Ao executar o programa, obtivemos os dados e o tempo no formato especificado dado à função.
Exemplo 3:
Aqui, exibimos a data e a hora da região dos EUA usando a função strptime. Inserimos bibliotecas padrão no seguinte programa. Em seguida, implantamos a função principal, onde definimos o tamanho do buffer. Depois disso, definimos o objeto "tempo" com o tipo de dados "time_t". Em seguida, estabelecemos a estrutura "tm" que declara o objeto de ponteiro "timeptr" e "resultado". Em seguida, chamamos a função setlocale, onde definimos o local atual. O objeto "tempo" é definido com a chamada do sistema de tempo, que leva nulo como um valor.
Para o timeptr, atribuímos a função LocalETime, que é referenciada pelo "tempo". A função STRFTIME é empregada, que é atribuída a data e hora formatadas. Então, temos uma condição de if-else em que a condição se toma a função strptime com os argumentos. Quando a hora e a data especificadas dentro da função STRPTIME forem nula, a instrução printf será executada. Caso contrário, temos outra seção a ser executada. A parte else tem várias declarações PRINTF que utilizam os diferentes modificadores para a data e hora.
#Define _Xopen_source
#incluir
#incluir
#incluir
#incluir
#incluir
int main (vazio)
Char BUF [100];
tempo_t tempo;
struct tm *timeptr, resultado;
setLocale (LC_ALL, "/QSYS.Lib/en_us.LOCALIDADE");
Tempo = tempo (nulo);
timePtr = localTime (& time);
strftime (buf, sizeof (buf), "%a%m/%d/%y%r", timeptr);
if (strptime (BUF, "%a%m/%d/%y%r", e resultado) == null)
printf ("\ \ NStrptime falhou \ n");
outro
printf ("Hora da hora: %d \ n", resultado.tm_hour);
printf ("tempo em min: %d \ n", resultado.tm_min);
printf ("Time in Sec: %d \ n", resultado.tm_sec);
printf ("Hora em seg: %d \ n", resultado.tm_mon);
printf ("Hora do mês e dia: %d \ n", resultado.tm_mday);
printf ("Hora do ano: %d \ n", resultado.tm_year);
printf ("Hora do ano e dia: %d \ n", resultado.tm_yday);
printf ("Hora da semana e dia: %d \ n", resultado.tm_wday);
retornar 0;
Os seguintes dados e tempo convertidos são executados contra cada modificador da função STRPTIME.
Conclusão
Este guia é para a função STRPTIME Linux na linguagem de programação C. Explicamos a funcionalidade dessa função específica com os códigos de exemplo. Implementamos o acima e todos os códigos são executáveis com o Ubuntu 22.04 Terminal. Além disso, vimos a diferença entre as duas funções, strptime e strftime, que são de alguma forma idênticas. A função STRPTIME cria uma saída de tempo a partir do texto, a entrada e a função STRFTIME fornece os dados da string a partir da entrada do tempo.