본문으로 바로가기
homeimage

컴퓨터/프로그래밍

해당되는 글 307
  • thumbnail
    컴퓨터/프로그래밍

    C언어 텍스트 파일 쓰기 방법

    C언어에서 텍스트 파일 쓰기를 위한 간단한 예제입니다. C언어 open()과 fopen() 함수를 이용하여 읽고 쓸 수 있는데요, 우선 텍스트 파일하고 바이너리 파일과의 차이점을 알아야 합니다. 메모장이나 노트패드뿔뿔 같은 텍스트 에디터로 열어서 바로 읽을 수 있는 것은 텍스트 파일이고 꿰껙쿽꺽 이상하게 출력되면 바이너리 파일이라고 이해하시는 분이 있습니다만, 틀린 것은 아니어도 정확한 구분이라고 할 수 없습니다. 텍스트 파일과 바이너리 파일의 차이점 텍스트 파일과 바이너리 파일의 차이점을 쉽게 이해하려면 숫자 255를 어떻게 저장하느냐 방법으로 구별하면 됩니다. 1개 바이트로 표현할 수 있는 최대 숫자는 255입니다. 그럼에도 각 단위의 숫자 각각을 문자 코드 '2'·'5'·'5'로 저장했다면, 즉 0..
  • thumbnail
    컴퓨터/프로그래밍

    삼성덱스 휴대폰 충전 방법

    갤럭시 노트로 바꾸면서 삼성 덱스를 유용하게 사용하고 있는데요, 특히 휴대용 모니터에 갤럭시 노트를 연결하면 따로 전원을 연결하지 않더라도 갤럭시 노트가 제공하는 전원만으로 화면 큰 모니터로 삼성 덱스를 사용할 수 있습니다. 휴대용 모니터의 저전력 설계도 놀랍지만, 모니터를 켤 수 있는 전원을 제공하는 갤럭시 노트도 대단합니다. 휴대용 모니터와 삼성덱스 휴대용 모니터에 갤럭시 노트를 연결하여 삼성 덱스를 사용하는 모습입니다. 참고로 사진 속의 휴대용 모니터는 한성컴퓨터 모니터 400입니다. 출력이 높은 모니터 전용 어댑터가 있지만, 어댑터 없이 전원을 오로지 갤럭시 노트11의 배터리로만 쓸 수 있습니다. 즉, 모니터와 갤럭시 노트를 한 개의 USB Type-C 케이블만 연결해서 삼성 덱스를 사용하는 것으..
  • thumbnail
    컴퓨터/프로그래밍

    삼성 덱스 화면 캡쳐 방법

    갤럭시 핸드폰을 모니터에 연결하여 삼성 덱스를 실행했을 경우 갤럭시의 화면 캡쳐 방법으로는 삼성 덱스의 넓은 화면은 캡쳐되지 않습니다. 갤럭시의 작은 화면만 복사되지요. 삼성 덱스 화면을 캡쳐하려면 삼성 덱스 작업 표시줄에 있는 화면 캡쳐 기능을 클릭하면 됩니다. 삼성 덱스 화면 캡쳐 방법 까다로울 줄 알았는데 등잔 밑이 어둡죠? 저도 처음 알았을 때는 왠지 기운이 빠지는 듯했습니다. 바로 앞에 놔두고 엉뚱하게 버튼을 눌러되었으니.... 갤럭시 핸드폰 화면 캡쳐 가장 쉬운 방법 화면 캡쳐 방법 얘기가 나왔으니 갤럭시 핸드폰의 화면 캡쳐 방법 중 가장 쉬운 방법을 소개합니다. 앱을 설치해야 하지만, 기본 화면 캡쳐 방법인 전원+음소거 짧게 누르는 방법보다 쉽습니다. 앱을 설치하는 것을 꺼리는 분이 계시겠지..
  • thumbnail
    컴퓨터/프로그래밍

    라자루스 내문서 폴더 위치 구하는 방법

    오픈 소스 윈도우 프로그램 통합개발환경 라자루스에서 내 문서 폴더 위치를 구하는 방법입니다. 라자루스는 델파이 개발환경을 리눅스용으로도 만들자 해서 시작된 프로젝트라서 아마도 최근 버전의 델파이에서도 같은 방법으로 구할 수 있지 않을까 생각됩니다. How to get the "My documents" folder location in lazarus 예제를 위한 폼 디자인은 간단합니다. Button1은 내문서 폴더 위치를 구해서 labDocuments에 출력합니다. 전체 소스는 아래와 같습니다. unit Unit1; {$mode objfpc}{$H+} interface uses Classes, SysUtils, Forms, Controls, Graphics, Dialogs, StdCtrls; type { ..
  • thumbnail
    컴퓨터/프로그래밍

    라자루스 사용자 AppData 폴더 위치 구하기

    프로그램을 윈도우 프로그램 폴더에 저장했다면, 권한 문제 대문에 그 위치에 파일을 생성하지 못합니다. 이런 경우 AppData 폴더를 이용합니다. AppData 폴더 위치는 ShGetSpecialFolderPath() 함수에 CSIDL_LOCAL_APPDATA를 인수로 호출하여 구할 수 있습니다. ShGetSpecialFolderPath() 함수를 사용하려면 uses절에 shlobj를 추가해야 합니다. How to get the appdata folder location in Lazarus 라자루스에서 AppData 폴더 위치를 구하는 예제입니다. Button1을 클릭하면 labAppData에 AppData 폴더 위치를 표시합니다. unit Unit1; {$mode objfpc}{$H+} interfac..
  • thumbnail
    컴퓨터/프로그래밍

    C언어 파일 복사 함수 filecopy()

    C언어 파일 복사 함수 filecopy() C언어에서 사용할 수 있는 파일 복사 함수 filecopy()입니다. 원본 파일 이름과 사본 파일 이름을 인수로 넘겨주면 되며, 실행 결과를 아래의 상수 값으로 반환합니다. 0 : 파일 복사 완료 -1 : 사본 파일 이름이 원본과 같습니다. -2 : 원본 파일 읽기 에러 -3 : 사본 파일 생성 에러 -4 : 사본 파일 쓰기 에러 함수 호출 후에 반환 값이 0이면 정상적으로 파일이 복사된 것입니다. -1인 경우 생성하려는 파일 이름이 원본과 같을 때입니다. -2는 원 파일 읽기를 못할 때, -3과 -4는 대상 파일 처리 중 에러가 발생한 것입니다. filecopy() 함수 사용 예제 #include #include #include #include #include..
  • thumbnail
    컴퓨터/프로그래밍

    C언어 파일 크기 구하기 함수 filesize()

    C언어에서 파일 크기를 구하는 함수 filesize()입니다. 만일 체크할 대상 파일이 닫기 전에 계속 쓰기를 하여 저장 중이라면 sync() 함수를 사용하여 버퍼에 있는 내용이 물리 장치에 실제로 저장하게 한 후에 filesize()를 호출하세요. C언어 파일 크기 구하기 함수 filesize() #include #include int filesize( const char *filename){ struct stat file_info; int sz_file; if ( 0 > stat( filename, &file_info)){ return -1; // file이 없거나 에러 } return file_info.st_size; } filesize() 함수 예제 인수로 파일 이름을 넣어 호출합니다. int m..
  • thumbnail
    컴퓨터/프로그래밍

    C언어 하위 디렉터리까지 생성 디렉터리 만들기 함수

    C언어 하위 디렉터리까지 모든 디렉터리 만들기 함수 C언어에서 mkdir() 함수로 디렉터리를 생성할 수 있지만, 만들려는 디렉터리의 상위 디렉터리가 있어야 생성됩니다. 디렉터리가 없는 곳에 디렉터리를 만들 수 없습니다. 그래서 상위 디렉터리가 없으면 상위 디렉터리를 차례로 만들어 전체 디렉터리를 만드는 함수 force_directory()입니다. force_directory() #include #include #include #include #include void force_directory( char *a_dirc){ char buff[1024]; int sz_dirc; int ndx; sz_dirc = strlen( a_dirc); for ( ndx = 1; ndx < sz_dirc; ndx++)..
  • thumbnail
    컴퓨터/프로그래밍

    C언어 초보자 추천 신동준 C언어 입문과 실습

    아는 분이 새로운 프로젝트를 맡게 되었는데 C언어로 작성된 프로그램이라면서 도움을 요청해 왔는데요, 우선 학습하기 좋은 C언어 입문서를 추천해 달라고 합니다. C언어 입문서라면 적극 권하고 싶은 책이 있지만, 너무 오래된 책이라 과연 구할 수 있을까 했는데요, 다행히 중고 서적으로 구입했네요. 신동준 저 C언어 입문과 실습 제가 추천한 C언어 입문서는 크라운 출판사에서 나온 신동준 저 "C언어 입문과 실습"입니다. 저와 비슷한 연배의 소프트웨어 개발자이시면 신동준 이름을 아시는 분이 계실 것으로 생각합니다. 중고서적이지만, 책 상태가 매우 양호하군요. 이 책을 짧게 표현한다면 시원하게 진도가 나가는 책이라고 할까요, 책이 두껍지 않고 글씨도 작지 않습니다. 설명은 장황하지 않고 이해하기 쉬운 예제로 빠르..
  • thumbnail
    컴퓨터/프로그래밍

    리눅스 터미널 ls --color 색상 변경 방법

    리눅스 터미널 ls --color 색상 변경 방법 텔넷으로 리눅스에 연결하고 파일을 목록을 확인하려고 ls를 실행했는데 파일 이름은 하얀색으로 잘 보이지만, 디렉터리는 파란색으로 나와서 잘 보이지 않네요. 텔넷의 배경색을 습관적으로 검은색이나 어두운 색을 사용하거든요. 어떤 서버는 파일이나 디렉터리 모두 흰색으로 나와서 구별이 안 돼 불편하죠. 워드는 흰 바탕에 작업을 하지만, 이상하게 터미널은 어두워야 편합니다. 그래서 새로 연결하는 리눅스에는 ls --color로 색상을 바꾸어 주는데, 어쩌다 사용하다 보니 까먹네요. 그래서 찾기 귀찮아서 정리합니다. 가끔 접속하는 리눅스 서버라면 자주 연결하는 리눅스가 아니어서 임시로 설정하고 싶다면 alias로 간단히 처리할 수 있습니다. $ alias ls="l..
  • thumbnail
    컴퓨터/프로그래밍

    C언어 포인터함수와 콜백함수 예제 설명

    C언어 포인터 이해하기 시리즈 4부입니다. 컴퓨터에 있는 프로그램을 실행하면 프로그램이 먼저 메모리에 올라옵니다. 즉, 변수뿐만 아니라 프로그램도 메모리를 차지하는 것이죠. 당연한 얘기를 입니다만, 함수도 시작 주소가 있을 것입니다. 포인터가 변수의 메모리 주소를 갖는다면, 함수 주소도 역시 포인터로 받을 수 있습니다. 변수의 주소가 아닌 함수의 시작 주소를 담은 포인터 변수를 통해 호출하는 함수를 포인터 함수라고 합니다. 함수 이름을 직접 호출하는 것이 아니라 함수의 주소를 가지고 있는 포인터 변수로 호출하는 것이며, 포인터 변수는 고정이 아니라 코딩에 따라 여러 함수의 주소로 바꿀 수 있습니다. 즉, 함수 이름을 직접 부르는 것을 정적 호출이라고 한다면, 포인터 변수를 통하는 방법을 동적 호출이라고 ..
  • thumbnail
    컴퓨터/프로그래밍

    C언어 포인터 사용하는 이유

    C언어 포인터 사용한다 vs. 사용하지 않는다 C언어 포인터를 쉽게 이해하는 방법 시리즈 3부입니다. 꽤 오래전에 개발자 커뮤니티에서 댓글 싸움이 심하게 벌어진 적이 있는데요, C언어라고 해서 포인터를 반드시 사용할 필요가 없다는 글에 반박과 찬성 의견이 이어진 것이죠. C언어에서 포인터를 사용하지 않으면 왜 C언어로 코딩하느냐로 시작해서 포인터를 사용하지 않는다면 C언어 개발자라고 어디 가서 떠들지 말라며 다소 과격한 글이 올라왔고, 이에 대해 포인터 없는 언어도 많고 C로 코딩하지만, 포인터 없이도 잘만 작성한다는 공격적인 답글이 서로 엉켜 싸우듯 했습니다. 연산자 []로만 사용했다고 포인터를 안 썼다고? 맞습니다. 포인터 없는 언어도 많은데 C언어라고 꼭 포인터를 써야 할까요? 당연히 포인터 없이도..
    최근글
    이모티콘창 닫기
    울음
    안녕
    감사해요
    당황
    피폐

    이모티콘을 클릭하면 댓글창에 입력됩니다.