Schreiben zu den Akten
Daten können zur Akte mit fputc und fprintf geschrieben werden. Das folgende Beispiel verwendet die fgetc und fputc Funktionen, um eine Kopie von einer Textakte zu erstellen.
#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;
}
Die fprintf Funktion kann verwendet werden, um formatierte Daten zu einer Akte zu schreiben.
fprintf(out, "Date: %02d/%02d/%02d\n",
day, month, year);
Befehl Linie Argumente mit C
Die ANSI C Definition für das Erklären der Haupt () Funktion ist irgendeine:
int main() or int main(int argc, char **argv)
Die zweite Version erlaubt, daß Argumente von der Befehl Linie geführt werden. Das Parameter argc ist ein Argumentkostenzähler und enthält die Zahl den Parametern, die von der Befehl Linie geführt werden. Das Parameter argv ist der Argumentvektor, der eine Reihe Zeiger zu den Zeichenketten ist, die die geführten Aktualparameter darstellen.
Das folgende Beispiel erlaubt, daß jede mögliche Zahl von Argumenten von der Befehl Linie geführt wird und druckt sie aus. argv [0] ist das tatsächliche Programm. Das Programm muß von einem Befehlseingabeformat laufen gelassen werden.
#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;
}
Wenn der Programmname count.c war, könnte er von der Befehl Linie wie folgt benannt werden.
count 3
or
count 7
or
count 192 etc.
Das folgende Beispiel benutzt die Akte, die Programme anfaßt, um eine Textakte zu einer neuen Akte zu kopieren. Z.B. konnte die Befehl Linie Argument wie benannt werden:
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;
}
|