skip_table[key_string[i]] = key_string.size() - i - 1;
skip_table[int(key_string[i])-CHAR_MIN] = key_string.size() - i - 1;
char을 int로 형변환 하니 unsigned char가 아니라서 -128~127의 값이 나왔던 거임.
그러니까 당연히 배열을 음수구간에 접근하는 충공깽스러운 상황이 떴던것.
VScode에서 VS로 넘겨서 디버깅 돌리니 바로 이상하데 접근한다고 알려주네... 씁 역시 IDE가 최고인듯
영어는 되는데 한글은 안되던 것도 영어는 전부 +구간내에 있어서 아무 문제 없었던 것
댓글 달아준 UTF-8 설명 링크 보면서 1바이트 짜리는 첫 비트가 무조건 0이라는 거 보고 감이 왔음
근데 VSC에서는 길이 1만짜리 문자열도 잘 써먹던데 왜 VS는 너무 길다고 잘라먹지., - dc App
그것이 기능차이