파일에 쓰기
자료는 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;
}
|