C언어 Newwork Study 1

2025. 6. 30. 21:59·C/Study

 

 

 

 

 

 

 

 

🌟 구조체

더보기

정의

  • 서로 다른 데이터 타입을 하나로 묶어서 관리할 수 있는 사용자 정의 데이터 타입

특징

  • 여러 변수를 논리적으로 그룹화
  • 메모리 효율적인 데이터 관리
  • 복잡한 데이터 구조 표현 가능

 

 

 

🌟 구조체 포인터

더보기

개념

  • 구조체 변수의 주소를 저장하는 포인터

활용법

 

  • 함수에서 구조체 포인터 매개변수로 전달받아 효율적인 메모리 사용
  • 동적 메모리 할당과 연계하여 유연한 데이터 구조 구현

접근 방법

  • (*포인터명).멤버명 또는 포인터명->멤버명

 

 

 

 

🌟 파일 입출력

더보기

기본 개념

  • 프로그램과 외부 파일 간의 데이터 교환

주요 함수들

 

  • fopen(): 파일 열기
  • fclose(): 파일 닫기
  • fprintf(), fscanf(): 형식화된 파일 입출력
  • fread(), fwrite(): 바이너리 파일 입출력

 

 

 

 

🌟 분활 컴파일

더보기

목적

  • 큰 프로그램을 여러 파일로 나누어 관리

장점

  • 코드의 모듈화와 재사용성 향상
  • 개발 효율성 증대
  • 유지보수 용이성

구성요소

  • 헤더파일(.h): 함수 선언,구조체 정의
  • 소스파일(.c): 함수 구현

 

 

 

🌟 파일입출력과 로그인 구현

더보기
// member.h 헤더파일

#ifndef USER_IO_H
#define USER_IO_H

void input_credentials(char *id, char *password);
void save_to_file(const char *id, const char *password);
void read_from_file();

#endif

 

// main.c 파일

#include <stdio.h>
#include <string.h>
#include "member.h"

// 헤더에 선언된 함수들을 여기서 직접 구현
void input_credentials(char *id, char *password) {
    printf("아이디를 입력해주세요: ");
    fgets(id, 100, stdin);
    id[strcspn(id, "\n")] = '\0';

    printf("비밀번호를 입력해주세요: ");
    fgets(password, 100, stdin);
    password[strcspn(password, "\n")] = '\0';
}

void save_to_file(const char *id, const char *password) {
    FILE *fp = fopen("c.txt", "w");
    if (fp == NULL) {
        printf("파일을 만들지 못했습니다.\n");
        return;
    }

    fprintf(fp, "%s %s\n", id, password);
    fclose(fp);
}

void read_from_file() {
    FILE *fp = fopen("c.txt", "r");
    if (fp == NULL) {
        printf("파일이 열리지 않았습니다.\n");
        return;
    }

    printf("\n[저장된 id, passward]\n");
    char buffer[200];
    while (fgets(buffer, sizeof(buffer), fp) != NULL) {
        printf("%s", buffer);
    }
    fclose(fp);
}

int main(void) {
    char id[100];
    char password[100];

    input_credentials(id, password);
    save_to_file(id, password);
    read_from_file();

    return 0;
}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

'C > Study' 카테고리의 다른 글

C언어 Newwork Study 5  (1) 2025.07.11
C언어 Newwork Study 4  (1) 2025.07.11
C언어 Newwork Study 3  (0) 2025.07.11
C언어 Newwork Study 2  (1) 2025.07.11
'C/Study' 카테고리의 다른 글
  • C언어 Newwork Study 5
  • C언어 Newwork Study 4
  • C언어 Newwork Study 3
  • C언어 Newwork Study 2
eull
eull
eull 님의 블로그 입니다.
  • eull
    eull 님의 블로그
    eull
  • 전체
    오늘
    어제
    • 개발 환경 (32) N
      • Qt (1) N
        • API (0)
        • Project (1) N
      • MYSQL_Workbench (1)
        • setting (1)
      • Linux_Ubuntu (2)
        • Task (1)
        • Setting (1)
      • C (19)
        • Concept (4)
        • Task (8)
        • Project (1)
        • Study (5)
        • Setting (1)
      • C++ (1)
        • Study (0)
        • Concept (1)
      • Python (6)
        • Task (4)
        • Project (2)
      • 일상 (1)
      • Setting (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
eull
C언어 Newwork Study 1
상단으로

티스토리툴바