[c] 파일 입출력 스트리밍
파일 입출력 스트리밍은 파일을 읽고 쓰는 동작을 스트리밍 형식으로 처리하는 방법을 말합니다. 이를 통해 대용량 파일을 처리하거나 네트워크를 통해 파일을 전송할 때 유용하게 사용될 수 있습니다.
파일 읽기 스트리밍
파일 읽기 스트리밍은 파일을 조각조각 읽어들여서 메모리 부담을 줄일 수 있습니다. 이를 통해 매우 큰 파일의 내용도 효율적으로 처리할 수 있습니다.
#include <stdio.h>
int main() {
FILE *file = fopen("example.txt", "r");
if (file) {
char buffer[1024];
size_t bytesRead;
while ((bytesRead = fread(buffer, 1, sizeof(buffer), file)) > 0) {
// buffer를 이용한 작업 수행
}
fclose(file);
}
return 0;
}
위 예제에서 fread
함수를 이용하여 파일을 조각조각 읽어들이고, 그 내용을 buffer
에 저장한 후 원하는 작업을 수행할 수 있습니다.
파일 쓰기 스트리밍
마찬가지로 파일 쓰기 스트리밍을 통해 대용량의 데이터를 처리하면서 메모리를 효율적으로 관리할 수 있습니다.
#include <stdio.h>
int main() {
FILE *file = fopen("output.txt", "w");
if (file) {
char buffer[1024];
// buffer에 쓰여질 데이터를 준비
size_t bytesWritten = fwrite(buffer, 1, sizeof(buffer), file);
fclose(file);
}
return 0;
}
위의 예제에서 fwrite
함수를 이용하여 buffer
에 있는 데이터를 파일에 쓰여집니다.
스트리밍을 통해 파일을 처리할 때에는 주의할 점이 있습니다. 버퍼의 크기를 적절하게 설정하고, 파일을 열고 닫는 과정에서 오류가 발생하지 않도록 안전하게 처리해야 합니다.
이러한 파일 입출력 스트리밍은 C 언어뿐만 아니라 다양한 프로그래밍 언어에서도 지원되는 개념이므로, 언어별 특징과 함께 활용하는 것이 중요합니다.