Turbo-C
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
터보-C 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
Lua 게시판
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C/C++ Q/A
[1863] token 질문입니당.*^^*
캔디 [hs770920] 1382 읽음    2003-01-20 14:54
몇일전에 질문했었는데...
다시 질문드립니다.
한분께서 참고하라고 하신걸 봤는데...
아직 초보라서 그런지 이해하기가 좀 어렵더라구요...



우선 빈칸(space)를 기준으로 token을 나누는 함수를 만들었습니당...
(헤헤..사실은 소스를 참고하여... ㅡ,.ㅡ)

지금 아래의 소스는 빈칸(" " )만 나눌 수 있는데...
여기에 콤마(,)나  세미콜론(:), 연산자, 괄호  등을 나누는 코드를 추가하고 싶으면 어떻게 해야 할까요???

예를 들어서 ex)SQL> select * from emp where (sal+comm) > 10000;
를 입력받았다면....

select / * / from / emp / where / ( / sal / + / comm / ) / > / 10000 / ; /
이렇게 나누어지는 거죠....


고수님들의 빠른 답변 부탁드립니다..

제가 c를 시작한지 얼마 안 되어서...

쉽게 답해 주시면 감사하겠어용~~~~~ *^^*

#include<stdio.h>
#include<string.h>

int parsing(void);
int parse_sub(char *)

int main(void){
    
       parsing();
       return 0;
}


int parsing(void)
{
       char buffer[256];

       while(1){
           printf("SQL>");
           gets(buffer);

           if( !strcmp(buffer, "quit") || !strcmp(buffer, "exit") )
                 break;
           parse_sub(buffer);
       }
 
       printf("Good bye!! \n");
  
       return 0;
}

int parse_sub(char *s)
{
        char *p;
 
         p=strtok(s, " ");
        
         if(p)  printf("%s\n", p);
         while(p != null ) {
                    p=strtok(null, " ");
                    if (p)   printf("%s\n", p);
          }

          return 0;
}

+ -

관련 글 리스트
1863 token 질문입니당.*^^* 캔디 1382 2003/01/20
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.