본문 바로가기

분류 전체보기

(333)
[C언어]부동소수점으로 저장된 데이터를 정수형으로 바꾸기 안녕하세요. 세상에는 다양한 장비가 있고 그 장비중에서는 메모리안에 데이터가 부동소수점형태로 저장되어있어서, 이것을 읽기 위해서 정수형의 형태로 데이터를 변환해줘야 할 때가 있어요. 이번에는 그에 대한 프로그램을 작성해볼게요. 참고로 여기서 사용하는 부동소수점은 IEEE754(https://ko.wikipedia.org/wiki/IEEE_754)를 참조했어요 출력 데이터가 16비트일 경우(혹은 상위16비트만 읽은 경우) #define DECIMAL 100 //소수점 2자리까지 보기 위해 결과값에 100을 곱해주고 소수점을 자름 #define BIAS 127 //지수에 더해주는 값(IEEE754) out = 메모리에서 읽어온 데이터 값 outSign= *out & 0b1000000000000000 ? -1..
[C언어]CMD Printf 고급 스킬! (c언어 커서 위치 바꾸기) 안녕하세요. 두부입니다. 제목을 뭘로 지을지 몰라서 저렇게 지었는데.. 무슨말인지 모르시겠죠 ㅜ 저도 잘 표현하기가 힘드네요. 제가 프로그래밍을 하다가, printf문으로 폼을 미리 출력하고 커서 위치를 자유자재로 지정하여 문자를 입/출력하는 프로그램을 만들고 싶었습니다. 그래서 만들었습니다. 일단 완성 사진부터 보여드리겠습니다. 일단 틀을 먼저 출력한 후, scanf문을 이용하여 ( ) 괄호안에 문자를 입력받는 프로그램입니다. 즉, 원래 1,2,3 이 있던 자리는 빈칸이고, 위 괄호 안부터 순서대로 커서가 깜박거리며 문자를 입력하라고 사용자에게 알려주는 프로그램입니다. 그럼 코드를 보겠습니다. #include "stdafx.h" #include #include #include #pragma warnin..
[C언어]INI파일 사용하기 (GetPrivateProfileString) *INI파일에 대한 자세한 내용은 나무위키에 검색해주세요 원형: DWORD WINAPI GetPrivateProfileString o _in_ LPCTSTR lpAppName, //Section의 이름 _in_ LPCTSTR lpKeyName, //Key의 이름 _in_ LPCTSTR lpDefault, //읽기에 실패할 경우 버퍼에 들어갈 디폴트 데이터 _out_ LPCTSTR lpReturendString, //읽은 내용이 들어갈 버퍼 _in_ LPCTSTR nSize, //읽기 버퍼의 사이즈 _in_ LPCTSTR lpFileName, //INI파일이 위치하는 경로 예:(SectionA, Bvalue, "-1", Csave, 255, ./Dinifile.ini) -> Dinifile.ini파일의 S..
[C언어]C언어 시리얼통신 - CreatFile (RS232, RS485 등) 1.CreateFile 파일 또는 I/O장치를 만들거나 여는 함수입니다. 일반적으로 사용되는 I/O장치는 파일, 파일스트림, 디렉터리, 실제 디스크, 볼륨, 콘솔 버퍼, 테이프 드라이브, 통신 리소스, 메일 슬롯 및 파이프입니다. 저는 CreateFile함수를 이용하여 시리얼통신을 위한 COM Port를 사용했으며, 제가 아는만큼 설명할수밖에 없으니 이 글에서 이 함수는 시리얼통신을 위하는게 주 목적으로 사용할 것 입니다. 이 함수는 파일이나 장치들의 핸들을 반환하며, 핸들을 통해 장치를 액세스하는 데 사용할 수 있습니다. 문법 WINAPI CreateFile( LPCTSTR lpFilename, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBU..
[C언어]멀티쓰레드 기반의 서버구현 쓰레드란? -경량화된 프로세스. 동시실행이 가능하며 프로세스의 단점을 극복하기 위해 등장. -스택을 제외한 나머지 메모리 공간을 공유 -보다 간단한 context switching -일부메모리를 공유하므로 스레드간 통신이 편리 thread관련 헤더파일은 int pthread_create( //쓰레드 생성 함수 pthread_t *thread, // 생성된 쓰레드의 ID를 저장할 변수의 포인터를 인자로 전달 pthread_attr-t *attr, //생성하고자 하는 쓰레드의 특성(attribute)를 설정할때 사용. 일반적으로 Null을 전달 void *(*start_routine) (void*), //리턴타입과 인자가 void*인 함수를 가르키는 포인터 void *arg //쓰레드에 의해 호출되는 함수에..
[구글링]ppt 검색하기, 특정 사이트 검색 ( site ) 특정 사이트에서만 검색하고싶은경우! 하지만 그 사이트 전체적인 검색창이 없는경우! 이럴 때는 어떻게 해야 할까요? 바로 구글 검색 연산자를 이용해야죠! 그럼 youtube에서만 '두부'를 검색한다고 생각하고 특정 사이트에서만 검색하는 'site'연산자를 사용하는 것을 보여드리겠습니다! ~~~ ~ 먼저 그냥 '두부'를 검색한 경우! 맨위에는 나무위키에서 두부의 검색결과를 보여주고 똑똑한 구글이 현재 제가 있는 안양시근처의 두부집을 광고해주네요. 나무위키에서도 검색결과가 나오고 다른 사이트에서 검색결과가나오고 이런 저런 사이트의 검색결과가 나오는 것을 확인할 수 있습니다. ~ ~ 그럼 site연산자를 사용해서 youtube에서만 검색한경우! 위 결과처럼 youtube에서만 검색되는 것을 보실 수 있습니다! ..
[구글링]ppt 검색하기, 특정 파일형식 검색하기 ( filetype ) 오랜만에 실용성 엄청 높은 연산자를 가져왔습니다. 그것은 바로, 특정 파일 형식만 검색하는 연산자인 'filetype' 입니다! 구글 검색하면서, 교육용같이 정리된 파일을 찾을 때, 주로 ppt로 찾으면 쉽게 검색이 가능한데, 이럴 때 꼭 필요한 연산자이겠죠? 제 기준으로 지금까지 올린 글 중 ""연산자 다음으로 실용성이 높은 연산자입니다! 그럼 바로 감자에대한 교육자료를 찾는다고 가정하고, 파일형식이 ppt인 감자와 관련된 파일을 검색해보겠습니다! ~~~ ~ 먼저 그냥 '감자'를 검색한 경우! 감자에 대한 일반적인 검색결과가 나와서 우리가 원하는 감자에 대한 교육정보를 얻으려면 엄청난 자료수집과 정리가 필요할 것 같습니다! 생각만 해도 머리아프죠? 이럴때 감자에 대한 ppt자료만 따로 분류해서 검색하면..
[구글링]사전적 정의 알아보기 ( define ) 어떤 검색어의 사전적 정의가 필요한 경우! 사전사이트에 들어가서 검색해보면 되겠지만, 그게 귀찮을수도 있죠! 그리고 사전적 정의와 함께 다양한 정보를 보고싶은경우는 사전에서도 검색어를 검색하고 다른 검색창에서도 검색어를 검색해야되죠. 이런 경우, define 연산자를 입력하면 쉽게 검색이 가능합니다! ~~~ ~ 먼저 그냥 '고급'만 검색한 경우! 너무 평범한 검색창이라서 별로 할 말이 없네요. 이런 경우, 고급의 사전적 의미를 보고싶으면 밑에 나무위키나 위키백과에서 자료를 확인해 보면 되겠지만, 그게 귀찮을수도 있잖아요? 그리고 수십개의 단어의 사전적 의미를 보고싶은경우! 수십개의 단어를 각각 검색해보고 다른 사이트에 들어가기 번거로울수도 있죠! 그럼 이제 define 연산자를 사용한 검색결과를 보여드리..