El escribir a los archivos
Los datos se pueden escribir al archivo usando el fputc y el fprintf. El ejemplo siguiente utiliza las funciones del fgetc y del fputc para hacer una copia de un archivo de texto.
#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 función del fprintf se puede utilizar para escribir datos ajustados a formato a un archivo.
fprintf(out, "Date: %02d/%02d/%02d\n",
day, month, year);
Línea de comando discusiones con C
La definición del ANSI C para declarar () la función principal es cualquiera:
int main() or int main(int argc, char **argv)
La segunda versión permite que las discusiones sean pasadas de la línea de comando. El argc del parámetro es un contador de la discusión y contiene el número de los parámetros pasados de la línea de comando. El argv del parámetro es el vector de argumento que es un arsenal de indicadores a las secuencias que representan los parámetros reales pasados.
El ejemplo siguiente permite que cualquier número de discusiones sea pasado de la línea de comando y las imprime hacia fuera. el argv [0] es el programa real. El programa se debe funcionar de un aviso de comando.
#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 el nombre del programa era count.c, podría ser llamado como sigue de la línea de comando.
count 3
or
count 7
or
count 192 etc.
El ejemplo siguiente utiliza el archivo que maneja rutinas para copiar un archivo de texto a un archivo nuevo. Por ejemplo la línea de comando discusión se podía llamar como:
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;
}
|