A saída de system("date +%s")
não pode ser armazenada em uma variável como você tentou.
De man system
int system(const char *command);
system
executa um comando especificado no comando chamando/bin/sh -c command
e retorna após o comando ter sido concluído.
system
não retorna a saída do comando executado. Ele retorna 0
se o comando for executado com sucesso e o shell não estiver disponível. Caso contrário, retorna algum status de saída inteiro.
Como posso exportar a saída desse comando para um arquivo de texto
Método 1: Redirecionamento (já mencionado por @Jobin): sistema de chamadas como,
system("date +\%s >> text.txt");
Método 2: Use popen
, ele retornará um FILE*
que você pode usar para ler a saída do comando.
#include <stdlib.h>
#include <stdio.h>
int main()
{
FILE *fp,*outputfile;
char var[40];
fp = popen("date +%s", "r");
while (fgets(var, sizeof(var), fp) != NULL)
{
printf("%s", var);
}
pclose(fp);
outputfile = fopen("text.txt", "a");
fprintf(outputfile,"%s\n",var);
fclose(outputfile);
return 0;
}