:: 게시판
:: 이전 게시판
|
이전 질문 게시판은 새 글 쓰기를 막았습니다. [질문 게시판]을 이용바랍니다.
통합규정 1.3 이용안내 인용"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
09/04/09 12:55
자문 자답이긴 한데
생각을 해봤는데 혹시 이런 식으로 될려나 모르겠네요. fscanf("%d %d ", 변수, 변수); if(fgetc(fp) == "\n") break; 이런식으로? 이제 수업시간이라서 돌려보질 못하겠네요
09/04/09 13:12
char seps[] = "-\t\n";
while(fgets(buffer, 50, fin)) token1 = strtok(buffer, seps); token2 = strtok(NULL, seps); token3 = strtok(NULL, seps); 하나의 예인데 token은 \t나 \n - 으로 구분되는 모든것을 자르고 한번 버퍼(문자열)값을 읽어 들이면 다음에 토큰할때는 NULL값을 줘야 합니다. 이런식으로 끝까지 읽어 들이면 될꺼 같은데 개수가 정확하지 않으니까 그에 대한 조건문은 존재 해야 할듯 싶습니다.
09/04/09 14:11
while( fgets( buf, 50, fp ) )
char *token = strtok(buf, seps) if ( token == NULL ) continue; int data = atoi(token); // data 에 대한 어떤 처리를 한다... // 남아있는 데이터들을 읽는다. while( token = strtok( NULL, seps ) ) { data = atoi(token); // data 에 대한 어떤 처리를 한다... } 대략 이런식이면 될 것 같은데요. 빌드해보고 올리는게 아니라서, 버그가 있을지도 모릅니다. ^^; strtok는 텍스트 파싱 같은거 짜야 할 경우에 거의 필수니까, 사용법을 잘 익혀두시는게 좋습니다. 물론 C++로 넘어가면, iostream을 쓰면 걍 해결되긴 합니다만(...)
|