콘솔에서 움직이는 에디터 만들기(6일째) 표시 부분의 구현·문자 코드로 고민
이 어드벤트 캘린더는 콘솔에서 움직이는 편집기를 25일 동안 1부터 직접 제작하는 것을 목표로 합니다.
오늘은 담담하게 구현하겠습니다.
오로지 구현
지금까지의 회에서 실장하고 있던 세세한 부품을 오로지 설계에 적용해 갑니다.
별로 쓰는 일이 없다···
우선, 지금까지 부품을 연결
부족한 부분이 꽤 있습니다만, 표시의 곳은 조금 되어 왔습니다.
main.c를 작성중인 에디터로 표시해 보았습니다.
화면 상단에 파일 이름이 표시됩니다.
멀티 바이트 문자의 키보드 조작을 생각한다 (고민 중)
3일째에 키보드 조작에 대해 조사했습니다만, 그 때는 문자가 1바이트라고 하는 전제가 있는 코드였습니다.
그대로라면 곤란하기 때문에, 멀티바이트 문자의 길이를 아는 방법을 조사합니다.
여기 하지만 매우 도움이 되었지만 아무래도 자신이 만든 프로그램에 잘 맞지 않습니다.
이유는, 멀티바이트 문자가 제대로 배열에는 들어가지 않고, 도중에 다른 배열(연결 리스트 한 끝)이나 입력 버퍼에 분단한 상태로 들어가 있기 때문에, 「널 종단으로, 멀티바이트 문자가 중단됨 없는 문자열 '상태로 가져가기가 어렵기 때문입니다.
같은 사람의 여기을 읽으면서 문자 상태를 어떻게 다루는지 고민하고 있습니다. UTF8 결정 치고 좋을까, 라든지.
오늘 요약
부족한 부분이 꽤 있습니다만, 표시의 곳은 조금 되어 왔습니다.
main.c를 작성중인 에디터로 표시해 보았습니다.
화면 상단에 파일 이름이 표시됩니다.
멀티 바이트 문자의 키보드 조작을 생각한다 (고민 중)
3일째에 키보드 조작에 대해 조사했습니다만, 그 때는 문자가 1바이트라고 하는 전제가 있는 코드였습니다.
그대로라면 곤란하기 때문에, 멀티바이트 문자의 길이를 아는 방법을 조사합니다.
여기 하지만 매우 도움이 되었지만 아무래도 자신이 만든 프로그램에 잘 맞지 않습니다.
이유는, 멀티바이트 문자가 제대로 배열에는 들어가지 않고, 도중에 다른 배열(연결 리스트 한 끝)이나 입력 버퍼에 분단한 상태로 들어가 있기 때문에, 「널 종단으로, 멀티바이트 문자가 중단됨 없는 문자열 '상태로 가져가기가 어렵기 때문입니다.
같은 사람의 여기을 읽으면서 문자 상태를 어떻게 다루는지 고민하고 있습니다. UTF8 결정 치고 좋을까, 라든지.
오늘 요약
전회분의 이식이 많았기 때문에, 그다지 쓰는 일이 없었습니다만, 상당히 진행되었다! 라고 생각합니다.
Reference
이 문제에 관하여(콘솔에서 움직이는 에디터 만들기(6일째) 표시 부분의 구현·문자 코드로 고민), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tinyco/items/a56c760b0a95cfbf6ce2텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)