:: 게시판
:: 이전 게시판
|
이전 질문 게시판은 새 글 쓰기를 막았습니다. [질문 게시판]을 이용바랍니다.
통합규정 1.3 이용안내 인용"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
10/03/14 13:53
cancan 은 cancan이란 단어로 보나요 아니면 can이공백없이 들어온거로 보나요? 후자라면 음;;;
전자라면 자를때마다 링크드 리스트를 만들어서 그안에서 서치하고 같은 문자열이 있다면 카운터+1 같은 문자열이 없다면 새로 할당해서 추가하고 잘라온 데이터를 넣는걸로 하는게 좋을꺼 같습니다.
10/03/14 13:58
#include<stdio.h>
#define MAXLEN 100 char *word[MAXLEN / 2]; char buf[MAXLEN]; int main(void) int i, wordn; bool flag = true; gets(buf); i = wordn = 0; while(buf[i] != '\0'){ if(flag){ word[wordn++] = buf + i; flag = false; if(buf[i] == ' ') buf[i] = '\0'; flag = true; ++i; } return 0; }
10/03/14 14:00
C는 오랜만에 잡아 보네요. 아마 될 겁니다. 메모장에 그냥 쓱 친거라서..
입력을 분리하여 character형 포인터의 배열인 word에다가 각 단어의 시작 위치를 집어넣습니다. 이렇게 분리된 단어를 참조할 때는 word[0][0], word[1][2] 와 같은 식으로 쓰시면 되겠습니다. '\0'이 NULL을 나타내는 것이며, C에서 NULL 문자는 곧 문자열의 끝으로 간주된다는 것을 알고 계신다면 이해하기에 그리 어렵지는 않을 것입니다. 그리고 참고로 strtok는 첫번째 인자에 NULL을 집어넣으면 이전에 찾은 부분 다음에서 작업을 계속합니다.
|