본문 바로가기

C-Language/Query_String

Query_String parsing example

웹브라우저에서 서버로 전달된 파라미터 문자열을 처리하는 예

#include <stdio.h>

/* 파라미터 문자열로부터 파라미터 값을 추출하는 예 */

int main(void) {

 char buf[128];
 char name[16];
 int age;
 char phone[32];

 FILE * file;
 file = fopen("param_test.dat", "w");
 if(file==NULL) {
  printf("쓰기용 파일열기 실패\n");
  return 0;
 }
 /* 웹서버로 전달되는 파라미터 형식과 동일하게 파일에 저장한다 */
 fprintf(file,"name=Smith&age=28&phone=123-321-456");
 fclose(file);

 file = fopen("param_test.dat", "r");
 if(file==NULL) {
  printf("읽기용 파일열기 실패\n");
  return 0;
 }

 fgets(buf,127,file);
 printf("%s \n", buf);

 /* 파라미터 문자열에서 각 파라미터를 추출한다 */
 sscanf(buf, "name=%[^'&']&age=%d&phone=%s", name, &age, phone);
 printf("이름=%s\n나이=%d\n전화=%s\n", name, age, phone);

}