Scrivendo alle lime
I dati possono essere redatti alla lima usando il fputc e il fprintf. Il seguente esempio usa le funzioni del fputc e del fgetc per fare una copia di una lima di testo.
#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;
}
The fprintf function can be used to write formatted data to a file.
fprintf(out, "Date: %02d/%02d/%02d\n",
day, month, year);
Linea di ordine discussioni con la C
La definizione dell'ANSI C per dichiarare () la funzione principale è una:
int main() or int main(int argc, char **argv)
La seconda versione permette che le discussioni siano passate dalla linea di ordine. Il argc di parametro è un contatore di discussione e contiene il numero di parametri passati dalla linea di ordine. Il argv di parametro è il vettore di discussione che è un allineamento degli indicatori alle stringhe che rappresentano i parametri reali passati.
Il seguente esempio permette che tutto il numero di discussioni sia passato dalla linea di ordine e che le stampa fuori. il argv [0] è il programma reale. Il programma deve allontanarsi da un richiamo di ordine.
#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;
}
Se il nome di programma fosse count.c, potrebbe essere denominato come segue dalla linea di ordine.
count 3
or
count 7
or
count 192 etc.
L'esempio seguente usa la lima che maneggia le procedure per copiare una lima di testo ad una nuova lima. Per esempio la linea di ordine discussione ha potuto essere denominata come:
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;
}
|