File I/O - 파일 입출력

파일 시스템: ImEDA는 네이티브 파일 포맷과 레거시 포맷을 모두 지원합니다. 모든 파일 I/O는 c_filesystem API를 통해 수행되며, 경로는 c_paths를 사용합니다.

I/O 모듈

imsexpr_dll 핵심

ImEDA S-Expression 파서. 네이티브 파일 포맷의 읽기/쓰기를 담당합니다.

  • S-Expression 렉서/파서
  • .imsch, .imepd, .imslib 등 네이티브 포맷
  • .imsnip 스니펫 지원
  • imengine 어댑터 포함

csiedaio_dll

레거시 파일 포맷 읽기 전용. 구버전 파일 호환성을 제공합니다.

  • .sch, .epd, .slib 레거시 포맷
  • .csisch, .csiepd, .csislib 포맷
  • 읽기 전용 (쓰기 불가)

dxfio_dll

DXF 파일 가져오기/내보내기. PCB 보드 외곽선 등에 사용됩니다.

  • DXF Import (Board Outline)
  • DXF Export
  • 레이어 매핑 지원

파일 포맷 테이블

문서 유형ImEDA (신규)레거시ContentType
회로도.imsch.sch, .csischSchDocument (0)
전자부품 심별.imepd.epd, .csiepdEpdDocument (1)
심별 라이브러리.imslib / .imsym.slib, .csislibSlibDocument (2)
풋프린트.imfp.fp, .pcblibFpDocument (3)
PCB 보드.impcb.pcb, .csipcbPcbDocument (4)
프로젝트.imprj--
프로젝트 그룹.imgrp--
스니펫.imsnip.csipet-
풋프린트 라이브러리 DB.imflib--

경로 시스템

영역기반 경로용도
Root (읽기 전용)install/설정 파일, 데이터, 아이콘, Lua 스크립트
User (읽기/쓰기)AppData/Local/ImEDA/사용자 설정, 위젯 상태, 임시 파일
// c_paths 주요 메서드
root_dir()      // install/
conf_dir()      // install/conf/
data_dir()      // install/data/
icons_dir()     // install/icons/
lua_dir()       // install/script/lua/
user_local_dir()  // AppData/Local/ImEDA/
user_conf_dir()   // AppData/Local/ImEDA/conf/
user_temp_dir()   // AppData/Local/ImEDA/temp/