int가 char*에 추가 된 다음 청소합니다
-
12-09-2019 - |
문제
나는 Arduino를 사용하여 프로젝트를 진행하고 있는데, 따라서 일련 포트에서 읽고 있습니다 (전송합니다. int
에스). 그런 다음이 연쇄 의사 소통을 LCD에 써야합니다. char*
.
직렬 포트 (2 개의 정수)에서 문자열로 여러 문자를 읽어야합니다. 둘 다받은 후에는 다음 두 캐릭터를 준비하기 위해 문자열을 지워야합니다.
tldr: 어떻게 추가합니까? int
a char*
, 두 문자가있는 후 문자열을 지우 셨나요?
해결책
숯은 단일 캐릭터 인 반면, char*는 캐릭터에 대한 포인터이거나 C 문자열의 첫 번째 문자에 대한 포인터 일 수 있으며, 이는 널 문자로 종료 된 숯의 배열입니다.
당신은 숯을 사용하여 1 자리보다 긴 정수를 나타낼 수 없으므로 실제로 당신이 실제로 char*를했다고 가정 할 것입니다.
당신이 가지고 있다면
char buffer[10];
그런 다음 설정할 수 있습니다 buffer
int를 나타내는 문자열로 n
Sprintf와 함께
sprintf(buffer, "%d", n);
그리고 당신이 그것을 끝내면, 당신은
sprintf(buffer, "");
그것이 당신이 요구했던 것이기를 바랍니다. 그리고 행운을 빕니다!
다른 팁
당신은 문자 *를 읽을 수 없습니다 *, 그것은 포인터입니다. 유효한 것을 가리키면 포인터가 가리키는 메모리를 읽을 수 있습니다. 청소에 관해서는, 당신이 그 의미가 무엇인지는 분명하지 않습니다.
결론은 원하는 것을 수행하려고 시도하는 실제 코드를 게시하고 그에 대해 물어야한다는 것입니다.
제휴하지 않습니다 StackOverflow