목차
- 이전 포스팅의 C 언어 strncpy 함수로 선택적 크기로 문자열 복사 예제 학습 링크
- 이전 포스팅의 C 언어 함수 포인터 및 구조체 사용 예제 학습 링크
- 이전 포스팅의 C 언어 strcat 함수로 두 문자열 이어 붙이기 예제 학습 링크
- C 언어 fscanf 함수 활용 파일에서 포맷이 이루어진 숫자 읽기 읽기 및 출력 예제
- C 언어 fscanf로 파일에서 문자열 읽기 및 출력 예제
이전 포스팅의 C 언어 strncpy 함수로 선택적 크기로 문자열 복사 예제 학습 링크
이전 포스팅에서는 c언어에서 strncpy 함수를 사용하여 선택적 크기를 인자로 전달하여 버퍼에서 문자열을 복사하는 방법과 예제에 대해 알아보았습니다. n이 numbers를 의미하며 버퍼로부터 몇 글자의 문자열을 복사할 것인지를 파악합니다. 몇 글자라기보다는 바이트 수를 의미하기도 합니다. 우리가 흔히 문자열을 표현할 때는 아스키 문자로 표현을 합니다. 한글의 경우 유니코드를 사용하기도 합니다. 만약 c언어에서 strncpy 로 문자열 길이를 지정하여 버퍼에서 문자열 복사를 수행하고 싶으시다면 아래 링크의 포스팅을 참고하여 학습해주세요.
2023.07.14 - [C/응용] - [C언어/C++] C언어 strncpy 선택 문자열 복사
이전 포스팅의 C 언어 함수 포인터 및 구조체 사용 예제 학습 링크
다음으로 이전 포스팅에서는 c언어에서 함수, 포인터, 구조체 자료구조의 사용 방법과 예제에 대해 알아보았습니다. 구조체란 변수들이 일련으로 나열되어 각기 다른 메모리 공간 크기를 점유하는 c언의 자료구조입니다. 여러개의 변수가 마치 한 가지의 변수로 합쳐져 있는 듯한 형태를 가집니다. 구조체 포인터란 구조체 변수의 주소를 가리키는 포인터 변수를 의미합니다. 이 구조체 포인터의 멤버에 접근하기위해서는 c언어의 -> 키워드를 사용해야합니다. 만약 c언어에서 아직 함수 포인터 및 구조체 자료구조의 활용 방법을 잘 모르신다면 아래 링크를 참고하여 학습해주세요.
2021.12.07 - [C/응용] - C/C++ 함수 포인터 변수 활용 예제 - 2(구조체 함수 포인터)
이전 포스팅의 C 언어 strcat 함수로 두 문자열 이어 붙이기 예제 학습 링크
마지막으로 이전 포스팅에서는 c언어에서 strcat 함수를 활용하여 두 문자열을 이어 붙이는 예제에 대해 알아보았습니다. 이어 붙인다는 의미는 1개의 문자열 버퍼 끝에 2번째 문자열 버퍼의 시작점부터 가리키는 문자열을 복사한다는 것을 의미합니다. 다만, 이때 1번 문자열 버퍼의 전체 크기를 검사하지는 않기때문에 버퍼 오버플로우 즉, 버퍼 크기보다 더 큰 문자열을 값을 저장하는 오류가 발생하지 않도록 주의해야합니다. 버퍼 오버플로우 오류 현상을 이용하여 악의적인 코드를 강제로 실행시킬 수 있습니다. 만약 c언어에서 strcat 함수 활용방법이 궁금하시다면 아래 링크를 참고해주세요.
2023.07.15 - [C/응용] - [C언어/C++] C언어 strcat 문자열 합치기
C 언어 fscanf 함수 활용 파일에서 포맷이 이루어진 숫자 읽기 읽기 및 출력 예제
아래는 c언어에서 fscanf 함수를 사용하여 로컬에 저장된 텍스트 파일에서 포맷으로 이루어진 숫자 값을 변수로 읽어와 화면에 출력하는 예제입니다. 이처럼 fscanf 함수는 파일의 데이터를 읽을 때 사용합니다.
아래는 /tmp/data1.txt 파일 내용입니다.
10 20 30
#include <stdio.h>
int main() {
FILE *filePointer;
int number1, number2, number3;
// 파일 열기
filePointer = fopen("/tmp/data1.txt", "r");
if (filePointer == NULL) {
printf("파일을 열 수 없습니다.\n");
return 1;
}
// 파일에서 포맷이 이루어진 숫자 읽기
fscanf(filePointer, "%d %d %d", &number1, &number2, &number3);
// 읽은 값 출력
printf("읽은 숫자들: %d, %d, %d\n", number1, number2, number3);
// 파일 닫기
fclose(filePointer);
return 0;
}
C 언어 fscanf로 파일에서 문자열 읽기 및 출력 예제
아래는 c언어에서 fscanf 함수로 파일에서 문자열을 읽고 화면에 출력하는 예제입니다. 숫자도 읽을 수 있지만 문자열도 읽을 수 있습니다.
아래는 /tmp/data2.txt 파일 내용입니다.
HelloWorldBtsNice
#include <stdio.h>
int main() {
FILE *filePointer;
char text[100];
// 파일 열기
filePointer = fopen("/tmp/data2.txt", "r");
if (filePointer == NULL) {
printf("파일을 열 수 없습니다.\n");
return 1;
}
// 파일에서 문자열 읽기
fscanf(filePointer, "%s", text);
// 읽은 문자열 출력
printf("읽은 문자열: %s\n", text);
// 파일 닫기
fclose(filePointer);
return 0;
}