Contents

Develop
2003.04.23 09:44

[c] CGI Library to C^^

Views 8438 Comment 0
?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print
?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print

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
No. Category Subject Author Date Views
585 Develop Mac OS 에 Jenkins 설치하기 (Homebrew) 2 file hooni 2017.03.15 8384
584 Develop [c] 구조체의 설명과 예제.. hooni 2003.04.23 8396
583 Develop [c] 패킷 유량/프로토콜 통계 모니터링.. file hooni 2013.04.23 8396
582 Develop 다양한 방법으로 아주 큰 수(Big Number) 계산.. ㅋㅋ hooni 2013.04.23 8398
581 Develop [js] 자바스크립트로 만든 게임 file hooni 2013.04.23 8404
580 Develop [c] 파이프(popen)로 다른 프로세스 실행결과 가져오기 file hooni 2013.04.23 8415
» Develop [c] CGI Library to C^^ hooni 2003.04.23 8438
578 Develop [c] 쓰레드에 대한 내용 퍼오기..ㅡㅡ; hooni 2013.04.23 8457
577 Develop [c][cpp] mfc, win32api, 예제 소스 대박 모음~ file hooni 2013.04.23 8477
576 Develop [java] 메모패드.. 스윙(swing)으로.. file hooni 2013.04.23 8484
575 Develop [php] 그래프 그리는 프로그램.. file hooni 2013.04.23 8490
574 Develop [c] 소수점 반올림^^ hooni 2003.04.23 8497
Board Pagination Prev 1 ... 45 46 47 48 49 50 51 52 53 54 ... 98 Next
/ 98