파일 입출력(8)
-
C언어 초급 - 14장: 예제 프로젝트 및 실습 (14.3 메모장 프로그램)
14.3 메모장 프로그램동적 메모리 할당과 파일 입출력을 활용하여 메모장 기능을 구현합니다.✅ 프로그램 주요 기능메모 입력 후 파일에 저장파일에 저장된 메모 불러오기기존 메모에 내용 추가메모 삭제 (파일 초기화)동적 메모리 할당을 사용하여 메모 크기 제한 없음1. 동적 메모리 할당을 활용한 메모 저장 기능메모는 길이가 정해져 있지 않기 때문에, 동적 메모리 할당(malloc())을 사용하여 메모 크기를 유동적으로 조절합니다.📌 메모 입력 후 파일에 저장하는 기능#include #include #define FILE_NAME "memo.txt"// 메모 입력 및 파일 저장void saveMemo() { FILE *fp = fopen(FILE_NAME, "w"); // 새로 작성 모드("w") ..
2025.02.25 -
C언어 초급 - 14장: 예제 프로젝트 및 실습 (14.2 학생 성적 관리 프로그램)
14.2 학생 성적 관리 프로그램구조체와 파일 입출력을 활용하여 학생들의 성적을 관리하는 프로그램을 작성합니다.✅ 프로그램 주요 기능학생 정보(이름, 학번, 점수) 입력 및 파일 저장저장된 성적을 파일에서 불러와 출력학생 정보 추가, 수정, 삭제 기능파일을 사용하여 프로그램 종료 후에도 데이터 유지1. 학생 성적을 관리하기 위한 구조체 정의학생 정보를 저장하기 위해 구조체(struct) 를 사용합니다.#include #include #include // 학생 정보를 저장할 구조체 정의typedef struct { char name[30]; // 학생 이름 int id; // 학번 float score; // 성적} Student;#define FILE_NAME "st..
2025.02.25 -
C언어 초급 - 12장: 파일 입출력 (12.3 바이너리 파일 읽기/쓰기)
12.3 바이너리 파일 읽기/쓰기C 언어에서 파일 입출력은 텍스트 파일과 바이너리 파일로 나뉩니다.바이너리 파일(Binary File)은 텍스트가 아닌 데이터(숫자, 구조체 등)를 그대로 저장하는 파일입니다.📌 바이너리 파일을 사용하는 이유데이터를 빠르게 저장하고 읽을 수 있음 (파일 크기가 작고 처리 속도가 빠름).데이터 손실 없이 그대로 저장 가능 (텍스트 파일은 변환 과정에서 손실 가능).정수, 실수, 구조체 등의 데이터를 그대로 저장할 수 있음.✅ 바이너리 파일을 처리할 때 fread(), fwrite() 함수를 사용합니다.1. fwrite() - 바이너리 데이터 쓰기1.1 fwrite() 함수 개요fwrite() 함수는 메모리에서 파일로 바이너리 데이터를 저장하는 함수입니다.📌 문법size_..
2025.02.24 -
C언어 초급 - 12장: 파일 입출력 (12.2 텍스트 파일 읽기/쓰기)
12.2 텍스트 파일 읽기/쓰기C 언어에서 텍스트 파일을 읽고 쓰는 기능을 제공하는 함수로 fprintf(), fscanf(), fgets(), fputs() 등이 있습니다.이 함수들을 활용하면 파일에 데이터를 저장하고, 저장된 데이터를 다시 읽어올 수 있습니다.1. fprintf()와 fscanf() - 파일에 형식화된 데이터 읽기/쓰기1.1 fprintf() - 파일에 형식화된 데이터 쓰기fprintf() 함수는 파일에 형식화된 데이터를 출력하는 함수입니다.printf() 함수와 동일한 형식 지정자를 사용하지만, 출력 대상이 파일이라는 점이 다릅니다.📌 문법int fprintf(FILE *fp, const char *format, ...);fp → 파일 포인터.format → 출력할 형식 문자열 (..
2025.02.24 -
C언어 초급 - 12장: 파일 입출력 (12.1 파일 입출력 개요)
12.1 파일 입출력 개요1. 파일 입출력이란?파일 입출력(File I/O)은 프로그램이 파일을 읽고 쓰는 기능을 의미합니다.C 언어에서는 stdio.h 헤더 파일을 사용하여 파일을 열고(fopen()), 읽고/쓰고, 닫는(fclose()) 작업을 수행할 수 있습니다.✅ 파일 입출력을 사용하는 이유데이터를 영구적으로 저장 가능 (프로그램 종료 후에도 유지됨).메모리에 저장할 수 없는 대량의 데이터를 처리 가능.입출력 장치(키보드, 모니터)와 상관없이 데이터 관리 가능.2. 파일 포인터 (FILE *fp)C 언어에서 파일을 처리하려면 파일 포인터(FILE *fp)를 사용해야 합니다.📌 파일 포인터란?파일을 가리키는 포인터로, 파일을 열면 해당 파일의 정보를 저장함.FILE 구조체(stdio.h에 정의됨)..
2025.02.24 -
시스템 콜 (System Call) - 6. 시스템 콜의 보안과 성능 이슈
6장: 시스템 콜의 보안과 성능 이슈1. 시스템 콜이 보안과 관련된 이유운영체제는 사용자 프로그램과 하드웨어 사이에서 보안과 안정성을 유지하는 중요한 역할을 합니다. 시스템 콜(System Call)은 프로그램이 운영체제의 기능을 요청하는 방식이기 때문에, 보안이 중요한 요소가 됩니다.📌 시스템 콜이 보안과 관련된 주요 이유1️⃣ 사용자 프로그램이 직접 하드웨어를 조작할 수 없음프로그램이 직접 하드웨어(디스크, 네트워크, 메모리 등)를 조작하면 운영체제의 안정성이 깨질 위험이 있습니다.시스템 콜을 통해서만 하드웨어에 접근할 수 있도록 하여 보안성을 유지합니다.2️⃣ 권한 검사가 필요함한 프로세스가 다른 프로세스의 메모리를 읽거나 수정할 수 있다면 데이터 유출이나 악의적인 공격이 발생할 수 있습니다.시스..
2025.02.08