컴퓨터219 파일 읽기 편하게 하기 텍스트 파일을 읽기 편하게 하기 위한 클래스를 만들어 보자. 간단한 사용 예는 다음과 같다. reader r; std::set all_compounds; while(r("compounds_in_treatment.txt",'#','\t')){ all_compounds.insert(r.begin()+2, r.end()); } 목적은 단순했다. while 문 안에 저렇게 해서 텍스트 파일을 한 줄씩 읽어들일 수 있게 하기 위한 것이었다. 더 이상 읽을 줄이 없거나 아니면 아예 애초에 파일을 열지 못했으면 false 가 반환되기 때문에 위처럼 해서 모든 줄을 읽을 수 있다. while 에 걸린 줄에 보면 첫 번째 인자는 파일 이름이고, 두 번째는 주석으로 간주할 줄이 제일 첫 칸에 어떤 문자가 있는지를 지정해 .. 2013. 5. 1. new 가 무서워, ㅋㅋ. STL을 사용하기 시작하면서부터는 new 를 별로 사용하지 않는다. STL library 자체가 그 기능으로 인해 수많은 편의를 제공해 주는 것도 있지만, 이렇게 new 를 이용한 메모리의 동적 할당을 하지 않아도 충분히 코딩을 할 수 있게 해줌으로 인해 메모리를 건드려 발생하는 문제를 회피하게도 해주는 것이다. 이 문제는 상당히 크다. 왜냐 하면, 메모리를 잘못 건드려 문제가 발생하는 경우가 많고, 그럴 경우 디버깅 하기가 조금 어렵기 때문이다. 연습도 할 겸, 데이터가 얼마나 커질지도 알 수 없기에, 요즘 후배녀석 한 명에게 동적 할당을 이용해서 코딩을 하라고 시켰다. 이 녀석이 이제는 C++ 에서 * 와 & 도 적당히 쓸 줄 알고, 메모리 사용하는 것도 조금씩 따라 오기는 하는데 초반에 너무 STL.. 2013. 5. 1. 코드의 논리적 오류로 인한 버그를 잡는 방법에 관하여 디버깅2 항목은 앞으로 코드의 논리적 오류로 인한 버그를 잡는 방법에 관하여 작성할 계획이다. 원래 있던 디버깅 항목은 문법 오류로 인한 컴파일 오류, 코드 자체의 문제로 인하여 메모리가 죽거나 API 의 구조를 잘 모르거나 해서 생기는 문제들을 집중적으로 다룬 반면, 디버깅2 항목은 코드 속에 숨어 있는 논리적 오류로 문제가 발생한 것을 다룬다. 다시 말해, 컴파일 오류도 없고 중간에 프로그램이 멈추지도 않는 등 결과가 만들어지기는 하지만 원하는 결과가 아닐 경우, 바로 이런 경우 어떻게 문제를 찾는가를 살펴 볼 생각이다. TDD가 IDE에 통합이 되는 등 이미 많은 기법들이 나와 있을 것이다. 따라서, 이 곳의 글들은 얄팍할 수밖에 없지만, 특정 경우 각각에 대하여 어떻게 하는지에 대한 구체적인 사례.. 2013. 3. 27. 엔드노트 사용법 - 참고문헌 정리 프로그램 엔드노트(EndNote) 는 논문 작성 시 참고 문헌의 형식을 투고할 논문의 형식에 맞게 자동으로 맞추어 주는 프로그램이다. 아주 유용한 프로그램이고, 논문을 작성하는 경우 거의 필수로 사용해야 하는 프로그램이므로 사용법을 잘 익혀 두어야 한다. 또한, EndNote X6 버전으로 올라 오면서 PDF 파일에서 논문 정보를 직접 추출하는 기능이 추가되었으므로 이 부분도 사용법을 살펴 볼 것이다. 또한, 종종 Microsoft Word 2010 이나 2007에 바로 EndNote 가 추가가 되지 않는 경우에 어떻게 해결하는지도 살펴 본다. 주로 생물학 분야를 위주로 살펴 본다. 버전이 바뀌면서 사용법이 다소 많이 바뀌는 특성 상 다른 버전의 경우 질문이 들어 오면 알아 보도록 한다. (난 Word 에 논문을.. 2013. 2. 17. 이전 1 ··· 7 8 9 10 11 12 13 ··· 55 다음