Contents

Develop
2003.04.23 09:44

[c] CGI Library to C^^

조회 수 8422 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

C언어의 CGI 라이브러리 함수


C언어의 구체적인 설명은 약하고 함수의 기능만 설명한다. 예제는 처음에 나오는 getword()함수만 우선 살펴보겠다.


#include <stdio.h>

#include "cgiutil.h"

void main()

{

    char *qs;

    qs = getenv("QUERY_STRING");

    

    printf("Content-type: text/html\n\n");

    printf("CGI 프로그램 : %s", qs);

}



#include <stdlib.h>

#include "cgiutil.h"

void main(int argc, char *argv[]) {

     char buf[200];

     char exeFile[BUFSIZE];

     strcpy(exeFile, argv[1]);

     while(1) {

          getword(buf, exeFile, '/');

          if(!strchr(exeFile, '/'))

             break;

     }

     printf(exeFile);

}


void getword(char *word, char *line, char stop) : 라인으로 전달되어온 문자열을 지정된 stop지시문자까지 읽어서 *word에 리턴하고, 그 다음부터 나오는 문자열을 line에 전달한다. 즉, line으로 온 문자열을 stop에서 지시한 구분자로 분리하여 앞의 것은 word에 뒤의 것은 line에 전달한다. 


char *makeword(char *line, char stop) : getword()와 같은 기능을 하되 getword()가 인자에 의해 값을 전달함에 비해 이 함수는 리턴값에 의해 결과를 전달한다. 


char *fmakeword(FILE *f, char stop, int *cl) : 파일 스트림에서 stop문자 전까지 읽어서 리턴값으로 돌려주고, 그 문자수만큼 cl값을 차감한다. 이것은 문자열의 크기만큼 매번 메모리 할당을 해야하는 번거로움을 줄이기 위해 사용한다.


char *smakeword(char *str, char stop, int *cl) : fmakeword()함수와 같은 기능을 하되, 파일 포인터를 인자로 받지 않고 문자열 포인터를 인자로 받는다. 


void plustospace(char *str) : 웹브라우저에서 인코딩된 '+'를 다시 원래 값인 스페이스로 치환한다.


int ind(char *s, char c) : 문자열 s에서 지정 문자 c가 나타나는 인덱스를 리턴한다. 인덱스는 0부터 시작하고, 없으면 -1을 리턴한다. 


int rind(char *s, char c) : int()함수와 같은 기능을 하되 문자열을 뒤에서 부터 찾는다. 


int getline(char *s, int n, FILE *f) : 파일스트림 f에서 n바이트를 읽어 문자열 s에 치환한다. 만약에 파일의 끝에 도달하면 1을, 그렇지 않으면 0을 리턴값으로 한다. 


void send_fd(FILE *f, FILE *fd) : 파일스트림 f를 fd로 복사한다. 


void escape_shell_cmd(char *cmd) : 특수문자 앞에 를 붙여서 제어문자로 작동하지 않도록 한다. 


char *rmCtrlChar(char *str) : &amp;, ", &lt;, &gt; 등과 같이 프로그램 처리나 보안상 문제가 될만한 문자를 제거한다. 


char rmCrLf(char *str) : Carriage Return이나 Line Feed문자를 제거한다. 


void prtErrMsg(char *str) : 모든 에러 메시지를 정형화된 형태로 출력한다. 


void back(void) : 직전 메뉴로 이동하는 앵커를 준비한다.



?

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
585 Develop [java] 채팅 프로그램.. swing 사용.. file hooni 2013.04.23 8345
584 Develop [c] 구조체의 설명과 예제.. hooni 2003.04.23 8373
583 Develop [c] 패킷 유량/프로토콜 통계 모니터링.. file hooni 2013.04.23 8374
582 Develop 다양한 방법으로 아주 큰 수(Big Number) 계산.. ㅋㅋ hooni 2013.04.23 8374
581 Develop [js] 자바스크립트로 만든 게임 file hooni 2013.04.23 8386
580 Develop [c] 파이프(popen)로 다른 프로세스 실행결과 가져오기 file hooni 2013.04.23 8398
» Develop [c] CGI Library to C^^ hooni 2003.04.23 8422
578 Develop [c] 쓰레드에 대한 내용 퍼오기..ㅡㅡ; hooni 2013.04.23 8436
577 Database [sql] 한눈에 보이는 Join file hooni 2014.02.19 8463
576 Develop [java] 메모패드.. 스윙(swing)으로.. file hooni 2013.04.23 8467
575 Develop [c++] mfc로 만든 현재 디렉토리 읽어오기/세팅하기 (GetCurrentDirectory/SetCurrentDirectory) file hooni 2013.04.23 8467
574 Develop [php] 그래프 그리는 프로그램.. file hooni 2013.04.23 8468
Board Pagination Prev 1 ... 45 46 47 48 49 50 51 52 53 54 ... 98 Next
/ 98