Jump to content

[Resolvido] Correr comandos unix em C


Recommended Posts

Posted (edited)

Boas,

Quero fazer um programa em C que tenha o seguinte output:

Date/time: 2012-10-14 18:33

Para obter a data e a hora, posso usar o seguinte comando unix:

date +%Y-%m-%d\ %H:%M

e para que possa ser executado num programa em C, uso system("date ...").

O problema é que queria que antes do resultado desse comando aparecesse a string "Date/time: ".

Já experimentei de 2 maneiras:

int main()
{
       printf("Date/time: ");
       system("date +%Y-%m-%d\ %H:%M");
       return 0;
}

e:

int main()
{
       system("echo Date/time: ");
       system("date +%Y-%m-%d\ %H:%M");
       return 0;
}

O problema do 1º, é que o output fica assim:

2012-10-14 18:33

Date/time:

O problema do 2º é que o output fica assim:

Date/time:

2012-10-14 18:33

Não há hipótese de meter o output tal e qual como o quero?

Edited by pmg
falta LP
Posted (edited)

Usa a função strftime().

Resulta mas se quiser também segundos e milisegundos, não há um formato para milisegundos. Há um formato que é o %N, que representa nanosegundos e daí tirava os milisegundos, mas este formato não é reconhecido pela função. Alguma sugestão?

Outra coisa, se quiser colocar algo à frente disso que seja um inteiro ou algo assim não vai dar, isto é, se eu quiser este output:

Date/time: 2012-10-14 19:46 grupo 1

em que 1 é dado por %d, há maneira de fazer isso? Ou seja, como se fosse um printf("grupo %d", grupo).

Edited by SharkAD
Posted

Depois de teres (parte de) o que queres na string, acrescenta-lhe outras coisas com, por exemplo, strcat().

Lembra-te de reservar espaço suficiente para tudo.

What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.