abibas   7년 전

안녕하세요 문제를 풀면서 strtok함수를 이용하면 편하게 풀 수 있을 것 같은 생각에 strtok()함수를 사용해보려고 하는데

함수를 이용하는 방법이 잘못된건 아닌것같은데 이상하게 계속 제대로 tokenizing 하질 못하네요...

cplusplus 사이트에서 나온 예시를 사용하면 잘 되는데, 그 예시와 제가 작성한 코드 중에

제 코드는 문자열배열의 갯수를 정해 놓은뒤 입력받는 반면,

레퍼런스사이트의 예시코드는 처음 배열 선언시에 초기화를 문자열로 하는 차이가 있었습니다.

         레퍼런스 사이트의 문자열 선언 부분:  char str[] ="- This, a sample string.";

strtok함수를 이용할 수 있을 것같은데 제가 뭘 잘못했는지 모르겠습니다. 

알려주신다면 너무 감사하겠습니다^^

portableangel   7년 전

15번 줄을 gets(str); 로 바꿔주시면 됩니다.

scanf 함수는 띄어쓰기를 구분자로 판단해 그 이전까지만 입력을 받는데, gets로 받으시면 한 줄을 통째로 받을 수가 있습니다.

abibas   7년 전

portableangel님 감사합니다. scanf가 띄어쓰기를 안받는걸 알고있으면서도 미처 생각지 못하고있었네요ㅠㅠ. 감사합니다. 

댓글을 작성하려면 로그인해야 합니다.