콘솔에서 움직이는 에디터 만들기(6일째) 표시 부분의 구현·문자 코드로 고민

이 논문은 자작 편집기 만들기 Advent Calendar 2016의 6 일째이며 저장소는 여기

이 어드벤트 캘린더는 콘솔에서 움직이는 편집기를 25일 동안 1부터 직접 제작하는 것을 목표로 합니다.

오늘은 담담하게 구현하겠습니다.

오로지 구현



지금까지의 회에서 실장하고 있던 세세한 부품을 오로지 설계에 적용해 갑니다.

별로 쓰는 일이 없다···

우선, 지금까지 부품을 연결



부족한 부분이 꽤 있습니다만, 표시의 곳은 조금 되어 왔습니다.
main.c를 작성중인 에디터로 표시해 보았습니다.
화면 상단에 파일 이름이 표시됩니다.



멀티 바이트 문자의 키보드 조작을 생각한다 (고민 중)



3일째에 키보드 조작에 대해 조사했습니다만, 그 때는 문자가 1바이트라고 하는 전제가 있는 코드였습니다.

그대로라면 곤란하기 때문에, 멀티바이트 문자의 길이를 아는 방법을 조사합니다.

여기 하지만 매우 도움이 되었지만 아무래도 자신이 만든 프로그램에 잘 맞지 않습니다.

이유는, 멀티바이트 문자가 제대로 배열에는 들어가지 않고, 도중에 다른 배열(연결 리스트 한 끝)이나 입력 버퍼에 분단한 상태로 들어가 있기 때문에, 「널 종단으로, 멀티바이트 문자가 중단됨 없는 문자열 '상태로 가져가기가 어렵기 때문입니다.

같은 사람의 여기을 읽으면서 문자 상태를 어떻게 다루는지 고민하고 있습니다. UTF8 결정 치고 좋을까, 라든지.

오늘 요약


  • Mokumoku 구현

  • 전회분의 이식이 많았기 때문에, 그다지 쓰는 일이 없었습니다만, 상당히 진행되었다! 라고 생각합니다.

    좋은 웹페이지 즐겨찾기