BASIC4MCU | 질문게시판 | 아두이노 질문합니다
페이지 정보
작성자 둥가둥가 작성일2020-06-11 21:55 조회3,764회 댓글1건본문
lcd 출력을 20 * 4 로 출력하려고 하는데
바코드식 찍으면 가격이 나오고 하는데 가격 올라가는건 잘 올라가는데 lcd에 출력이 되는게 가격이 까이는게 글자가 꺠집니다 ㅜㅜ 어떻게 해야될까요
case REMOVE: {
sprintf(str, "%s : CANCEL", items[counter.select].name);
uint32_t removeValue =
(items[counter.select].value * counter.list[counter.select]);
counter.list[counter.select] = 0;
totalValue = getTotalValue();
lcd.setCursor((20 - strlen(str)) >> 1, 1);
lcd.print(str);
sprintf(str, "Total : %lu,-", totalValue);
sprintf(&str[strlen(str)], "%lu", removeValue);
memset(&str[20], 0x00, sizeof(char) * 108);
lcd.setCursor(0, 3);
lcd.print(str);
break;
}
default:
break;
}
delete[] str;
}
출력이 잘못된건가요?
댓글 1
조회수 3,764master님의 댓글
master 작성일
sprintf(str, "Total : %lu,-", totalValue); // 가변자릿수
sprintf(str, "Total : %8lu,-", totalValue); // 고정자릿수
%8lu <-- 최대 8자리를 넘지 않는 경우 8자리를 확보하면서 출력