Bonjour tout le monde,
Je suis débutant en programmation et on m'a filé un programme en C que je n'arrive pas très bien à comprendre, notamment les "if" avec les arguments ainsi que la dernière ligne (%05.1lf\t| %010.6lf\t| %012.6lf\t| %012.6lf\). Merci de votre aide.
#include<stdio.h>
#include<stdlib.h>
int main(int argc, char * argv [])
{
double laf, temp, st, ast;
char c;
FILE *in, *out;
if(argc>1)
in = fopen(argv[1], "r");
if(argc==1 || in == NULL)
in = fopen("in.xml", "r");
if (in == NULL) {
fprintf(stderr, "Erreur in\n");
exit(1);
}
if(argc>2)
out = fopen(argv[2], "w");
if(argc<=2 || in == NULL)
out = fopen("out.txt", "w");
if (out == NULL) {
fprintf(stderr, "Erreur out\n");
exit(1);
}
else
{
fprintf(out, "| LAF\t| Temperature\t| Stokes \t\t\t| Antistokes\t\t|\n|\t\t|\t\t\t\t|\t\t\t\t\t|\t\t\t\t|\n"); // structure tab
while ((c = fgetc(in)) != EOF)
{
if(fscanf(in, "<data id=\"1\">%lf,%lf,%lf,%lf</data>", &laf, &temp, &st, &ast) == 4)
fprintf(out, "| %05.1lf\t| %010.6lf\t| %012.6lf\t| %012.6lf\t|\n|\t\t|\t\t\t\t|\t\t\t\t\t|\t\t\t\t|\n", laf, temp, st, ast);
}
return 0;
}