Inscription aux dossiers
Des données peuvent être écrites au dossier en utilisant le fputc et le fprintf. L'exemple suivant emploie les fonctions de fgetc et de fputc pour tirer une copie d'un dossier des textes.
#include <stdio.h>
int main()
{
FILE *in, *out;
int key;
if ((in = fopen("tarun.txt", "r")) == NULL)
{
puts("Unable to open the file");
return 0;
}
out = fopen("copy.txt", "w");
while (!feof(in))
{
key = fgetc(in);
if (!feof(in))
fputc(key, out);
}
fclose(in);
fclose(out);
return 0;
}
La fonction de fprintf peut être employée pour écrire des données composées à un dossier.
fprintf(out, "Date: %02d/%02d/%02d\n",
day, month, year);
Ligne de commande arguments avec C
La définition de la norme ANSI C pour déclarer () la fonction principale est l'une ou l'autre :
int main() or int main(int argc, char **argv)
La deuxième version permet à des arguments d'être passés de la ligne de commande. L'argc de paramètre est un compteur d'argument et contient le nombre de paramètres passés de la ligne de commande. L'argv de paramètre est le vecteur d'argument qui est une rangée d'indicateurs aux cordes qui représentent les paramètres effectifs passés.
L'exemple suivant permet à tout nombre d'arguments d'être passé de la ligne de commande et les imprime. l'argv [0] est le programme réel. Le programme doit être exécuté d'un message de sollicitation de commande.
#include <stdio.h>
int main(int argc, char **argv)
{
int counter;
puts("The arguments to the program are:");
for (counter=0; counter<argc; counter++)
puts(argv[counter]);
return 0;
}
Si le nom de programme était count.c, il pourrait s'appeler comme suit de la ligne de commande.
count 3
or
count 7
or
count 192 etc.
Le prochain exemple emploie le dossier manipulant des routines pour copier un dossier des textes à un nouveau dossier. Par exemple la ligne de commande argument a pu s'appeler comme :
txtcpy one.txt two.txt
#include <stdio.h>
int main(int argc, char **argv)
{
FILE *in, *out;
int key;
if (argc < 3)
{
puts("Usage: txtcpy source destination\n");
puts("The source must be an existing file");
puts("If the destination file exists, it will be
overwritten");
return 0;
}
if ((in = fopen(argv[1], "r")) == NULL)
{
puts("Unable to open the file to be copied");
return 0;
}
if ((out = fopen(argv[2], "w")) == NULL)
{
puts("Unable to open the output file");
return 0;
}
while (!feof(in))
{
key = fgetc(in);
if (!feof(in))
fputc(key, out);
}
fclose(in);
fclose(out);
return 0;
}
|