제목 : C, 그리고 fgets 라인 입력만으로 입력 토큰화 메서드 제작하기이 글을 작성하는 이유물론, C 에서의 특정 기본 라이브러리나,C++ 의 특정 기본 라이브러리를 가져와서 하나의 문자열을 토큰화 할 수 있다.그러나, 나는 내가 가진 기존의 개발자 역량에서, 엔지니어 역량으로 이끌기 위해 여러 제약을 걸었다.(알고리즘 문제에 제한해서.)stdio.h 라이브러리만 사용한다.동적 메모리 할당 메서드만 extern 키워드로 가져온다.입출력은 모두 fgets fgetc fputs 와 같이, '\0' 을 참조하는 메서드로 해결한다.필요한 모든 유틸리티 메서드와 구조체를 "직접" 작성하여 해결한다.작성한 코드는 헤더 파일로 만들어 재사용하지 않으며, 하나의 문제마다 모두 재작성하여 사용한다.이러한 제약을 ..
fgets
제목 : C 프로그램에서 정수, 문자열 상호변환 메서드 만들기이 글을 작성하는 이유C 에서도 문자열을 수로 바꾸는 메서드가 존재한다.이러한 내장 메서드는 어셈블리 급으로 최적화를 해 놓았고,또한 검증되었기 때문에 사용하는 것이 더 정확하고 편하다.그러나, 나는 C 언어로 알고리즘을 푸는 데 있어, 제약을 걸었다.stdio.h 내장 라이브러리를 제외한 모든 유틸리티 메서드를 "직접" 제작하는 것.물론, malloc, free, realloc, calloc 과 같은동적 메모리 할당과 해제에 필요한 메서드는 extern 으로 가져와서 사용한다.나는 이러한 제약을 스스로 걸어서, 각 라이브러리가 "어떻게" 동작하는지 이해하기 위해이러한 제약을 지키고 있다.(물론 어떤 문제들은 까마득하기도 하다.)알고리즘 문제를..
제목 : C 알고리즘 문제 scanf, printf 없이 입출력 수행하기부제 : fgets, fputs 사용법이 글을 작성하는 이유처음 프로그래밍을 배울 때, 우리는 C 나 Java 로 시작한다.나 또한 C, Java 를 처음 대학교에서 접했을 때 scanf 에 해당하는 기능으로입력과 출력을 수행했다. (문자열을 통해 입력을 원하는 데이터로 변환)그러나, 내가 알고리즘을 풀 뿐만 아니라, 파일을 읽는 과정에서scanf 는 도리어 보안적으로 위험할 수도 있다는 것을 알게 되었으며,또한 동적 입력에 대해 생각보다 잘 대처하지 못한다는 것이다.그래서 왜 scanf, printf 를 사용하지 않느냐면,내가 이전에 알고리즘을 풀 때 BufferedReader 객체를 이용해서,StringTokenizer 객체에 넣..