Homework #9 (1/2) 다음 지시에 따라 프로그램/결과(혹은 설명)를 출력하여 제출한다. 1. 디렉토리 이름을 하나 입력 받아, 해당 디렉토리에 있는 파일/디렉토리의 이름들을 출력하는 프로그램을 작성한다. 디렉토리 이름은 argc, argv를 사용하여 입력 받는다. (즉, argv[1]에 입력) 힌트: 강의노트 listfiles.c의 main() 함수만 잘 활용하면 됨 2. 프로그램 종료 시 exit handler 관련 다음 프로그램을 작성한다. 프로그램의 main() 함수는 다음과 같이 전역 변수 count를 0부터 10000까지 증가시키는 기능을 한다. for(count=0;count < 10000;count++); 프로그램이 종료할 때, 다음 두 가지 exit handler가 동작해야 한다. 첫번째 exit handler는 (count%2018)을 출력한다. 두번째 exit handler는 time((time_t *)0)가 리턴하는 값을 출력한다.
Homework #9 (2/2) Due Date: 11/28(수) 3. 동적 메모리 할당 함수 malloc()을 사용하는 다음 프로그램을 작성하시오. 프로그램은 입력으로 1에서 26 사이의 수를 입력 받는다. 이 수를 num이라 하자. 함수 malloc()을 사용하여, 크기 num+1의 문자열을 할당한다. 할당 받은 문자열의 num개 바이트에 (char)num+0x40를 넣는다. (예: str[i] = (char)(num+0x40);) 할당 받은 문자열의 마지막 바이트에 ‘\0’을 넣는다. (예: str[num] = ‘\0’) 해당 문자열을 출력한다. 4. 상기 3번 프로그램을 확장하여 다음 프로그램을 작성하시오. 앞서 3번에서 할당한 메모리에 realloc()을 사용하여 10 바이트를 추가하시오. 앞서 할당 받은 문자열을 나머지 10 바이트에도 추가하여 출력하시오. (널(‘\0’) 처리에 주의한다.) Due Date: 11/28(수)