C&C++8 [C/자료구조] 재귀함수를 이용한 피보나치 수열과 반복문을 이용한 피보나치 수열 피보나치 수열이란? 피보나치 수열이란 다음과 같이 정의되는 수열이다 피보나치 수열에서는 앞의 두 개의 숫자를 더해서 뒤의 숫자를 만든다. 정의에 따라 수열을 만들어 보면 다음과 같다. 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, ... 피노나치 수열은 이탈리아 수학자 피보나치(Fivonacci)가 발견한 수열로서 한 쌍의 토끼가 번식하는 상황을 수열로 만든 것이다. 피보나치 수열은 수학과 과학의 많은 분야에서 사용되고 있다. 피보나치 수열은 정의 자체가 순환적으로 되어 있다. 따라서 구현 시에 순환 호출을 사용하는 것이 자연스러운 방법이다. 피보나치 수열을 재귀함수로 이용하여 프로그램해 보면 다음과 같다. #define _CRT_SECURE_NO_WARNINGS #i.. 2022. 10. 21. [Windows/C] CreateProcess, CreatePipe 함수로 CMD COMMAND 실행하고 결과읽기 Process A ---------------> Process B (부모 프로세스) CreateProcess에 의한 생성 (자식 프로세스) CreateProcess의 구조 Reference : http://msdn.microsoft.com/en-us/library/ms682425(VS.85).aspx BOOL CreateProcess ( LPCTSTR lpApplicationName, // 생성될 프로세스의 이름 LPTSTR lpCommandLine, // 생성될 프로세스에 인자 전달(변수만 가능) LPSECURITY_ATTRIBUTES lpProcessAttributes, // 프로세스의 보안 속성 지정 LPSECURITY_ATTRIBUTES lpThreadAttributes, // 쓰레드의 보안 속성.. 2022. 8. 26. [C/C++] TCP/IP 대용량 파일 전송 프로그램 (서버, 클라이언트) 2022.07.22 - [C&C++/소켓 프로그래밍] - [C/C++] VSCode 윈도우 기반 서버, 클라이언트 예제 클라이언트 -> 서버로 파일을 전송하는 프로그램입니다. 파일 처리 방법 파일은 결국 바이너리 파일이라 읽고 쓰기 위해서는 인코딩 과정이 필요하다 그래서 파일을 주고 받을 때도 인코딩을 해서 파일에 쓰고 다시 디코딩 해서 읽어야 한다 파일 전송 과정-서버 측 1. 클라이언트가 파일을 요청한다. 이 때 파일 이름은 이진 바이트 스트림 데이터 형태로 온다 2. 파일 이름을 일반 문자열로 변환한다 3. open으로 해당 파일을 연다 4. read로 파일을 1024바이트 읽는다 5. 파일이 빈 문자열일 때까지 계속 1024바이트씩 읽고 전송한다(각 라인을 읽어서 리턴해야 하기 때문에 끊어서) 파.. 2022. 8. 22. [C/C++] VSCode 윈도우 기반 서버, 클라이언트 예제 우선 서버, 클라이언트 코드부터 보겠습니다. - server.c #include #include #include void ErrorHandling(char *message); int main(int argc, char *argv[]) { WSADATA wsaData; SOCKET hServSock, hClntSock; SOCKADDR_IN servAddr, clntAddr; int szClntAddr; char message[] = "Hello World!"; if(argc != 2) { printf("Usage:%s \n", argv[0]); exit(1); } if(WSAStartup(MAKEWORD(2, 2), &wsaData) != 0) //소켓 라이브러리 초기화 ErrorHandling("WSA.. 2022. 7. 22. 이전 1 2 다음