본문 바로가기

분류 전체보기

c언어 공부 프로젝트 (ver 0.0) Route구조체가 사용되는 모습 파일 연결 구조 함수의 흐름 화면 선택 구조 Menu를 선택하는 과정 중 Route구조체의 route[ ]변화 더보기
kbhit함수 #include int kbhit(void) 함수 설명: *[키-버퍼]가 빈 공간이면 정수0을 그 반대의 경우 정수1를 리턴해줍니다. 키가 눌러졌다면 [키-버퍼]에 정보가 전달되어 빈 공간이 아니라는 것이고 1를 리턴합니다. 즉, 키가 눌렀다는 것을 알 수 있습니다. (*[키-버퍼] 란 키보드의 누른 키를 컴퓨터가 순서대로 기억하는 선형 배열 공간입니다. 프로그램이 끝나면 함께 소멸 합니다.) 함수 주의: kbhit()는 [키-버퍼]에 정보가 있으면 사용 할 때마다 1를 리턴하기에 getch()등을 써서 [키-버퍼]를 반드시 없애야 또 쓸 수 있습니다. 함수 주의: VC++ 에서 _kbhit() 를 써야하는 경우도 있습니다. [출처] [c/c++] 키 눌렀나 안 눌렀나 확인하기. kbhit()|작성자 I.. 더보기
문자열 역순 출력(재귀함수) 재귀함수를 이용한 문자열 역순 출력 코드 #include void reverse(char* line); int count = 0; int a = 0; int main() { char* str = "i'm student"; char* temp = str; while((*temp != 0) && (*temp >=32) && (*temp =32) && (*line 더보기
문자열함수 코딩연습 #include void ti(char* te); int main() { char strary[][5] = {"c", "c++", "java", "c#"}; int i = 0; int j = 0; printf("각 문자열 출력>>\n"); for(i=0; (strary[i][0] != '\0') && (strary[i][0] >= 32) && (strary[i][0] = 32) && (strary[i][j] = 32) && (strary[i+1][0] = 32) && (**(strary + i) = 32) && (*(*(strary + i) + j) = 32) && (**(strary + i+1) = 32) && (**(strary+i) = 32) && (**(strary+i+1) 더보기
24장 http 서버 제작하기 웹서버의 이해 http(hypertext transfer protocol)프로토콜을 기반으로 웹 페이지에 해당하는 파일을 클라이너트에게 전송하는 역할의 서버 HTTP 요청/응답 과정 HTTP 요청 헤더 요청방식 1. GET = 데이터를 요청하는 경우 2. POST = 데이터를 전송하는 경우 GET /index.html HTTP/1.1의 의미 = index.html 파일을 요청(GET)합니다 그리고 저는 HTTP프로토콜 버전 1.1을 기준으로 통신하기를 원합니다 메세지 헤더에는 응답 받을 브라우저 정보, 사용자 인증정보 등 HTTP메세지에 대한 부가적인 정보가 담김 HTTP 응답 헤더 HTTP/1.1 200 OK의 의미 = 나는 HTTP 프로토콜 버전 1.1을 기준으로 응답하겠다. 또한 너의 요청은 성공적.. 더보기
windows 7과 mac 멀티부팅 설정 http://snumed.tistory.com/147 XP와 멀티부팅을 할땐 윈도우 루트루트 폴더에 chain0파일을 넣어주고 boot.ini파일을 수정해 사용했지만 비스타나 현재 windows7 으로 넘어오면서넘어오면서 boot.ini를 사용할 수 없어서 부트 매니저 프로그램인 EasyBCD 1.7.2를 이용해 쉽게쉽게 해결할 수 있습니다. 먼저 EasyBCD 1.7.2 http://neosmart.net/dl.php?id=1에서에서 다운을 받아 설치 합니다. 1. 설치 후 Add/RemoveAdd/Remove Entries 선택 2. Add anan Entry에서 Mac을 선택합니다. 3. 아래아래 그림과 같이 Type에서 Generic x86 PC을 선택 / Name을 지정 후후 Add Entry .. 더보기
23장 IOCP(Input Output Completion Port) Overlapped IO를 기반으로 IOCP 이해하기 넌 블로킹 모드의 소켓 구성하기 SOCKET hLisnSock; int mode = 1; ... hLisnSock = WSASocket(PF_INET, SOCK_STREAM, 0, NULL, 0, WSA_FLAG_OVERLAPPED); ioctlsocket(hLisnSock, FIONBIO, &mode); // for non-blocking socket 핸들 hLisnSock이 참조하는 소켓의 입출력 모드(FIONBIO)를 변수 mode에 저장된 값의 형태로 변경함 FIONBIO는 소켓의 입출력 모드를 변경하는 옵션, 함수의 세 번째 인자로 전달된 주소 값의 변수에 0이 저장되어 있으면 블로킹 모드로, 0이 아닌 값이 저장되어 있으면 넌-블로킹 모드로.. 더보기
22장 Overlapped IO 모델 Overlapped IO 모델 Overlapped IO의 주안점 비동기 IO(nonblocking 모드 입출력함수) + 입출력 완료결과 확인 Overlapped IO에서 입출력의 완료 및 결과를 확인하는 2가지 방법 1. WSASend, WSARecv 함수의 여섯 번째 매개변수, Event 오브젝트 기반 1) IO가 완료되면 WSAOVERLAPPED 구조체 변수가 참조하는 Event 오브젝트가 signaled 상태가 됨 WSASend() 이용시 1> 바로 전송이 완료되면 밑의 과정이 필요없음 2> 바로 전송이 되지 못하고 시간이 걸릴 경우 WSASend()의 반환 값 = SOCKET_ERROR, WSAGetLastError()의 반환 값 = WSA_IO_PENDING일때 는 event오브젝트가 signa.. 더보기