⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 getinput.c

📁 C/C++语言的CGI接口库
💻 C
字号:
#include <stdlib.h>#include <stdio.h>#include <sys/types.h>#include <errno.h>int main (int argc, char *argv[], char *envp[]) {    FILE  *output;    int    clen;    size_t read, write;    off_t  offset;    char  *querystring, *e;    if ((e = getenv("CONTENT_LENGTH")) == NULL) {      fprintf(stderr, "Unable to get content length.");      return -1;    }    clen = strtol(e, NULL, 10);    /* Content Length was out of range */    if (errno == ERANGE) {      fprintf(stderr, "Unable to convert Content-Length to integer.\n");        return -1;    }    read           = 0;    offset         = 0;    querystring    = (char *) malloc(clen+1);    memset(querystring, 0, clen + 1);    /* Read in the query from STDIN */    do {        read = fread(querystring + offset, sizeof(char), clen - offset, stdin);        if (ferror(stdin))             return -1;        else if (read <= 0)            continue;        offset += read;    } while (offset < clen && read > 0);    if ((output = fopen("./output", "w")) == NULL)      fprintf(stderr, "Unable to open output!");    write = fwrite(querystring, sizeof(char), clen, output);    fclose(output);    fprintf(stdout, "Content-Type: text/plain\r\n\r\nDone.\n");    return 0;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -