반응형
C 언어에서 파일 입출력 함수는 데이터를 읽어오고 기록하는 중요한 기능을 제공하며, 이를 잘 이해하면 파일을 통해 다양한 데이터를 효과적으로 관리할 수 있습니다. 이 포스팅에서는 초보자들도 쉽게 이해할 수 있도록 파일 입출력 함수의 기본 개념과 사용 방법에 대해 설명하고, 각각의 예제를 통해 실습해 볼 수 있도록 하겠습니다.
파일에서 데이터를 읽어오는 함수들
파일에서 데이터를 읽는 함수는 파일의 내용을 메모리로 가져와 처리할 수 있게 해줍니다. 이를 위해 사용하는 대표적인 함수로는 scanf, sscanf, fscanf가 있습니다.
scanf 함수
scanf는 표준 입력(키보드)으로부터 데이터를 읽어오는 함수입니다. 주로 콘솔 프로그램에서 사용자 입력을 받는 데 사용됩니다.
#include <stdio.h>
int main() {
int number;
printf("Enter a number: ");
scanf("%d", &number); // 사용자로부터 정수를 입력받음
printf("You entered: %d\n", number);
return 0;
}
실행 결과
Enter a number: 33
You entered: 33
- scanf 함수는 %d 형식을 사용하여 정수를 입력받습니다.
- 입력된 정수는 변수 number에 저장됩니다.
- printf 함수는 입력된 정수를 화면에 출력합니다.
반응형
sscanf 함수
sscanf는 문자열로부터 데이터를 읽어오는 함수입니다. 주어진 문자열을 해석해 변환하고, 이를 변수에 저장할 수 있습니다.
#include <stdio.h>
int main() {
char str[] = "123 456";
int num1, num2;
sscanf(str, "%d %d", &num1, &num2); // 문자열로부터 두 개의 정수를 읽어옴
printf("Numbers are: %d, %d\n", num1, num2);
return 0;
}
실행 결과
Numbers are: 123 456
- sscanf 함수는 문자열 str로부터 두 개의 정수를 읽어옵니다.
- %d %d 형식은 두 개의 정수를 읽도록 지정합니다.
- 읽어온 값은 num1과 num2에 각각 저장됩니다.
fscanf 함수
fscanf는 파일로부터 데이터를 읽어오는 함수입니다. scanf와 유사하지만, 입력이 파일에서 이루어진다는 점에서 차이가 있습니다. 파일을 읽기 모드로 열고, fscanf를 통해 데이터를 읽어올 수 있습니다.
#include <stdio.h>
int main() {
FILE *file = fopen("data.txt", "r"); // 파일을 읽기 모드로 엶
if (file == NULL) {
printf("Could not open file.\n");
return 1;
}
int num;
fscanf(file, "%d", &num); // 파일에서 정수를 읽어옴
printf("Read number from file: %d\n", num);
fclose(file); // 파일 닫기
return 0;
}
실행 결과1
Read number from file: 33
실행 결과2
Could not open file.
- fopen 함수로 data.txt 파일을 읽기 모드로 엽니다.
- fscanf 함수는 파일에서 정수를 읽어 num에 저장합니다.
- printf 함수는 읽어온 정수를 출력합니다.
- 파일을 닫기 위해 fclose 함수를 사용합니다.
위의 예제에서는 data.txt 파일에서 정수를 읽어와 출력합니다. 파일을 열고(fopen), 데이터를 읽고(fscanf), 파일을 닫는(fclose) 과정이 중요합니다.
반응형