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.
Code:#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; }
-----