나는 이것을 알아 내려고 노력해 왔으며, 해결 방법이있다.하지만 나는 분명히 뭔가 빠져 있지 않은지 확인하고 싶었다. 기본적으로 특정 규칙을 따르는 일련의 명령이 있습니다. 숫자, ASCII 문자 또는 특정 기호가 포함 된 것은 모두 토큰이며 <,>, |, & &, 등은 구분 기호입니다. 나는 방금 발견 한 것을 알 수 있고 배열에 저장할 수 있어야합니다. C - sscanf로 공백 무시하기
그래서 while 루프에서 나는a = sscanf (cp, "%[[email protected]:/-.,^+% ]", str);
은 내가 다른 방법을 알아낼 수 없기 때문에 찾기 위해 기호 중 하나로서 공간을 포함 시켰 있습니다. 나는 단어를 얻을 (플러스 가능한 공간을 남원) 후 대신에, 나는 전화
delimiters[] = " ";
token = strtok(str, delimiters);
(공백이 없었다 경우, 그냥 단어를 변경하지 않습니다 단지 토큰으로 나를 떠나 공백을 제거해야
). sscanf와 비슷한 것을 할 수있는 방법이 있다면 궁금 할 것입니다. 그 사이에 공백이 있으면 문자열이 이미 깨져 있다는 것을 알고 있기 때문입니다. 그러나 다시 호출하고 공백을 발견하면 그냥 읽지 않습니다. 아무것도.
그렇지 않은 경우에도 문제가 없습니다. 내 하루 종일 괴롭 히고있어.
[C에서 sscanf를 사용하는 공백을 무시하는] 가능한 복제본 (http://stackoverflow.com/questions/5292826/ignoring-whitespace-with-sscanf-in-c) –