|
몇일전에 질문했었는데...
다시 질문드립니다.
한분께서 참고하라고 하신걸 봤는데...
아직 초보라서 그런지 이해하기가 좀 어렵더라구요...
우선 빈칸(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;
}
|