반응형 분류 전체보기121 파일 복사 시, copy 명령어를 쓰지 않고 버퍼를 사용하는 이유 파일 복사와 버퍼 사용 파일의 내용을 복사할 때 파일 카피(copy) 함수를 사용하는 것과 직접 버퍼를 만들어서 복사하는 방식은 각각의 장단점이 있습니다. 파일 카피 함수 사용: 간편성 및 효율성: 대부분의 프로그래밍 언어와 운영체제는 파일 복사를 위한 표준 라이브러리 함수를 제공합니다. 이러한 함수들은 내부적으로 최적화되어 있어 효율적으로 파일을 복사할 수 있습니다. 가독성 및 안정성: 표준 라이브러리 함수를 사용하면 일반적으로 코드가 간결하고 가독성이 좋아집니다. 또한, 표준 라이브러리 함수들은 안정성이 검증되어 있기 때문에 에러 처리 등에 대한 부분을 자동으로 처리할 수 있습니다. 직접 버퍼를 만들어 복사: 커스터마이징 가능성: 직접 버퍼를 만들어 복사하는 경우에는 복사하는 과정을 직접 제어할 수 .. 2023. 12. 16. [c언어] sizeof 와 ftell 의 차이점, 사용 목적 sizeof 와 ftell 의 차이점과 사용 목적 정리 sizeof와 ftell은 서로 다른 목적으로 사용되는 것이기 때문에, 파일 크기를 계산할 때 sizeof를 사용하지 않고 ftell을 사용하는 이유가 있습니다. sizeof: sizeof는 C/C++에서 데이터 타입 또는 변수의 크기를 바이트 단위로 반환하는 연산자입니다. sizeof는 컴파일 시간에 계산되며, 변수의 정적인 크기를 반환합니다. 파일의 크기는 런타임에 결정되는 동적인 값이므로, sizeof는 파일 크기를 구하는 데에 사용할 수 없습니다. ftell: ftell 함수는 파일 포인터의 현재 위치를 바이트 단위로 반환합니다. 파일 포인터의 현재 위치는 파일의 크기와 직접적으로 연관되어 있습니다. 파일의 끝으로 이동하면 파일의 크기를 알 .. 2023. 12. 15. [C언어] fopen 대신 fopen_s 를 사용하는 이유, 특징 정리 fopen_s 사용하는 이유fopen_s 함수는 파일을 열기 위한 안전한 버전의 함수로, C11 표준에서 도입되었습니다. 이 함수는 버퍼 오버플로우 등의 보안 문제를 방지하기 위해 기존의 fopen 함수를 대체하는 목적으로 도입되었습니다.errno_t fopen_s(FILE** stream, const char* filename, const char* mode); fopen_s 함수의 전달인자:파일 포인터의 주소 (FILE** stream):파일 포인터를 저장할 변수의 주소입니다. 파일을 열고 난 후에 이 변수에 파일 포인터가 저장됩니다.파일 경로 (const char* filename):열고자 하는 파일의 경로를 나타내는 문자열입니다.파일 열기 모드 (const char* mode):파일을 어떤 모드로.. 2023. 12. 14. [C언어] C11 : ISO/IEC 9899:2011 특징과 내용 C11 : ISO/IEC 9899:2011 C11는 C 언어의 표준인 ISO/IEC 9899:2011 표준을 나타냅니다. 이 표준은 2011년에 제정되었으며, 이전의 C99 표준을 대체하고 확장하는 업데이트를 제공합니다. C11 의 특징과 내용 C11는 기존의 C 표준을 더 나은 표준 라이브러리, 향상된 특징 및 더 많은 확장과 함께 업데이트했습니다. C 프로그래머에게 더 많은 도구와 선택지를 제공하여 효율적이고 안전한 프로그래밍을 할 수 있도록 돕고 있습니다. 특 징 설 명 예제 코드 Atomic Operations 원자 연산을 위한 표준 라이브러리 함수인 가 추가되었습니다. c #include int main() { atomic_int counter = ATOMIC_VAR_INIT(0); atomic.. 2023. 12. 13. [MFC] CCmdUI 의 특징과 기능 CCmdUI 특징과 기능CCmdUI는 MFC(Microsoft Foundation Classes) 라이브러리에서 제공되는 클래스 중 하나로, 메뉴 및 툴바 항목과 연결된 명령 상태(Command User Interface) 정보를 관리하는 데 사용됩니다. MFC는 주로 Windows 기반 응용 프로그램을 개발하기 위한 Microsoft의 C++ 라이브러리입니다.CCmdUI 클래스의 주요 특징 및 기능은 다음과 같습니다:명령 상태 관리:CCmdUI는 주로 명령 상태를 관리하는 데 사용됩니다. 명령 상태란 메뉴 항목 또는 툴바 버튼이 활성화, 비활성화, 선택된 상태 등 어떤 상태에 있는지를 나타냅니다.예를 들어, 특정 조건에서 메뉴 항목이나 툴바 버튼을 비활성화하고 싶을 때 CCmdUI를 사용하여 그 상태를.. 2023. 12. 13. 파이썬 파일이동 os.rename, shutil.move 차이와 사용 방법 개발 PC에서는 os 코드로 파일이동이 잘 되었는데, 배포 exe를 만들고 다른 pc에서 동작시켰더니 파일이동이 안됐다.PC 사용자 계정문제 인가 싶어서, 실행파일을 관리자권한으로 실행했는데,동작이 안됐고 폴더자체의 권한설정을 바꿔서 했는데도, 동작이 안됐다. 그런데, 폴더를 변경하지 않고 동작시키면 (os 모듈에서 파일이동을 사용하지 않으면) S/W의 전체적인 동작이 잘됐다. 결국, 파일이동할 때 문제가 생기는거라서, 파일이동을 시키는 코드를 확인하니 os.rename()을 사용하고 있었다.os.rename 과 shutil.move의 차이점원자성(Atomicity):os.rename은 파일 또는 디렉토리 이동이 원자적이지 않습니다. 즉, 파일 이동 중 오류가 발생하면 중간 상태로 남을 수 있습니다. 이.. 2023. 12. 12. 이전 1 ··· 16 17 18 19 20 21 다음 반응형