목차
- 이전 포스팅의 C 언어 memcpy 메모리 복사 함수 활용 예제 학습 링크
- 이전 포스팅의 C 언어 memmove 메모리 이동 함수 활용 예제 학습 링크
- 이전 포스팅의 C 언어 strcpy 문자열 복사 함수 예제 학습 링크
- C 언어 fgets 함수로 파일을 한 줄 단위로 읽는 예제
- C 언어 fgets로 읽은 문자열을 화면에 출력 예제
이전 포스팅의 C 언어 memcpy 메모리 복사 함수 활용 예제 학습 링크
이전 포스팅에서는 c언어에서 memcpy 함수를 사용하여 인자로 전달한 소스 버퍼에서 새로운 버퍼에 바이트를 복사하는 예제에 대해 알아보았습니다. 우리가 흔히 문자열 버퍼를 c언어로 개발한 프로그램에서 자주 활용하게됩니다. 따라서 memcpy 함수가 문자열을 복사하는 함수로 착각하기도 하지만 정확히는 메모리 복사입니다. memcpy는 인자로 전달된 버퍼끼리 포인터가 가리키는 위치의 바이트 값을 다른 버퍼로 복사하는 것을 의미합니다. 따라서 문자열과는 상관이없습니다. 만약 c언어에서 memcpy 함수로 메모리 복사 예제가 궁금하시다면 아래 링크를 참고해주세요.
2023.07.17 - [C/stdio] - [C언어/C++] C언어 memcpy 메모리 복사
이전 포스팅의 C 언어 memmove 메모리 이동 함수 활용 예제 학습 링크
다음으로 이전 포스팅에서는 c언어에서 memmove 함수로 메모리의 값을 다른 버퍼로 이동시키는 방법에 대해 알아보았습니다. 사실상 memcpy 함수와 동일하게 동작하는 함수입니다. 일반적으로는 c프로그래밍 중에 메모리 복사를 위해서는 memmove 함수를 사용하지않고 memcpy 함수를 사용합니다. 내가 만약 c언어로 포인터를 활용하고 있는데 이 포인터가 가리키는 값을 다른 버퍼로 이동시키거나 복사해야할 때 대체 함수입니다. 아래는 해당 포스팅의 링크입니다.
2023.07.18 - [C/stdio] - [C언어/C++] C언어 memmove 메모리 이동
이전 포스팅의 C 언어 strcpy 문자열 복사 함수 예제 학습 링크
마지막으로 이전 포스팅에서는 c언어에서 strcpy 함수를 사용하여 문자열 버퍼끼리 문자열을 복사하는 예제에 대해 알아보았습니다. memcpy함수도 문자열을 복사해줄 수 있지만 c언어의 특성중 하나인 문자열 버퍼의 마지막 값에 NULL이 있는지 판단은 해주지 않습니다. 하지만 이 strcpy 함수는 마지막 NULL이 나올 때 까지 만나는 문자열들을 신규 버퍼로 복사해줍니다. 만약 c언어 프로그래밍 중에 문자열 복사 기능이 필요하시다면 아래 링크의 포스팅을 참고하여 학습해주세요.
2023.07.18 - [C/응용] - [C언어/C++] C언어 strcpy 문자열 복사
C 언어 fgets 함수로 파일을 한 줄 단위로 읽는 예제
아래는 c언어에서 fgets 함수를 사용하여 로컬에 저장된 파일로부터 텍스트를 한 줄 단위로 읽는 예제입니다. fgets는 \n, \r 등 개행 문자들을 판별하여 그 문자를 만날 때 까지 앞의 문자열들을 읽습니다.
아래는 테스트에 필요한 /tmp/data.txt 텍스트 파일 내용입니다.
The graceful fish swam elegantly in the water,
while a tiny cat dozed by the window,
basking in the sunlight. Birds soared freely among the trees,
and a big dog wagged its tail happily on a walk with its owner.
Meanwhile, a whale leaped majestically in the sea,
creating splashes, and in the desert,
a courageous camel bravely navigated through sandstorms.
Animals, each in their own unique way, enjoyed life in their natural habitats.
#include <stdio.h>
#define MAX_LINE_LENGTH 100
int main() {
FILE *filePointer;
char line[MAX_LINE_LENGTH];
// 파일 열기
filePointer = fopen("/tmp/data.txt", "r");
if (filePointer == NULL) {
printf("파일을 열 수 없습니다.\n");
return 1;
}
// 파일에서 한 줄씩 읽고 문자열 출력하기
while (fgets(line, MAX_LINE_LENGTH, filePointer) != NULL) {
printf("읽은 문자열: %s", line);
}
// 파일 닫기
fclose(filePointer);
return 0;
}
C 언어 fgets로 읽은 문자열을 화면에 출력 예제
아래는 c언어에서 fgets 함수로 읽은 텍스트들을 화면에 출력하는 예제입니다.
읽은 문자열: The graceful fish swam elegantly in the water,
읽은 문자열: while a tiny cat dozed by the window,
읽은 문자열: basking in the sunlight. Birds soared freely among the trees,
읽은 문자열: and a big dog wagged its tail happily on a walk with its owner.
읽은 문자열: Meanwhile, a whale leaped majestically in the sea,
읽은 문자열: creating splashes, and in the desert,
읽은 문자열: a courageous camel bravely navigated through sandstorms.
읽은 문자열: Animals, each in their own unique way, enjoyed life in their natural habitats.
Hit any key to continue...