Запись в файлы
Данные можно записать в файл и использовать fputc fprintf. Следующий пример использует fgetc fputc функции и сделать копию текстового файла.
#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;
}
Fprintf функцию можно использовать для записи форматированных данных в файл.
fprintf(out, "Date: %02d/%02d/%02d\n",
day, month, year);
Командная строка аргументов с C
ANSI C для объявления определение основных функций () может быть :
int main() or int main(int argc, char **argv)
Второй вариант позволяет аргументы передаются из командной строки. Параметр argc имеет аргументов счетчик и содержит ряд параметров из командной строки. Параметр argv является аргументом которой является вектор массив указателей на строки, которые представляют собой фактические параметры прошло.
Следующий пример разрешает любое количество аргументов, которая должна передаваться из командной строки и печатает их. argv [0] является фактически программой. Программа должна быть запущена из командной строки.
#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;
}
Если программа была count.c имя, она может быть вызвана как из командной строки.
count 3
or
count 7
or
count 192 etc.
Следующий пример использует стандартные процедуры обработки файлов для копирования текстового файла в новый файл. Например в командной строке аргумента можно назвать как :
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;
}
|