fscanf
: 파일에 있는 데이터를 원하는 형식으로 입력 받는 방법
score.txt파일이 있다고 했을 때 텍스트 파일에서 데이터를 정해진 형식으로 읽어오자.
score.txt
유재석 80 90 75
이광수 59 90 87
송지효 86 45 90
#include <stdio.h>
int main()
{
FILE* fp = NULL;
cahr name[20];
int kor, eng, mat;
double avg;
fp = fopen("score.txt", "r");
if (fp == NULL) {
fprintf(stderr, "원본 파일 score.txt를 열 수 없습니다.\n");
exit(1);
}
//파일로부터 입력 받기
fscanf(fp, "%s %d %d %d, name, &kor, &eng, &mat);
avg = kor + eng + mat / 3.0;
printf("%s %d %d %d %lf", name, kor, eng, mat, avg);
// 출력
// 유재석 80 90 75 81.666666
fclose(fp);
return 0;
}
fprintf
: 파일에 데이터를 입력할 때 원하는 형식으로 입력 하는 방법
person.txt파일에 데이터를 입려할 때, 원하는 형식으로 데이터를 입력해보자.
#include <stdio.h>
int main() {
FILE *fp = fopen("person.txt", "w"); // 파일 열기 (쓰기 모드)
if (fp == NULL) {
printf("파일을 열 수 없습니다.\n");
return 1;
}
int age = 25;
char name[] = "Alice";
// fprintf를 사용하여 파일에 데이터 쓰기
fprintf(fp, "이름: %s, 나이: %d\n", name, age);
fclose(fp); // 파일 닫기
return 0;
}
person.text
이름: Alice, 나이: 25
이때 정수도 아스키코드로 저장되기 때문에, 2는 50으로 즉, 0 0 1 1 0 0 1 0으로 저장되고, 5는 53으로 즉, 0 0 1 1 0 1 0 1으로 저장된다.
'2학년 2학기 > c언어' 카테고리의 다른 글
12-8장 파일 포인터 (0) | 2024.11.19 |
---|---|
12-7장 이진 파일의 생성과 fread, fwrite (0) | 2024.11.18 |
12-5장 문자열 입출력 함수(fgets, fputs) (0) | 2024.11.18 |
12-4장 문자 단위 입력출력 함수(fgetc, fputc) (0) | 2024.11.18 |
12-3장 파일열기와 닫기(fopen, fclose) (0) | 2024.11.18 |