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

📄 app_html.c

📁 linux的程序设计第二版 是学习LINUX下程序设计的好教程哦
💻 C
字号:
#include <stdlib.h>#include <stdio.h>#include <string.h>#include "cd_data.h"#include "html.h"const char *title = "HTML CD Database";const char *req_one_entry = "CAT";void process_no_entry(void);void process_cat(const char *option, const char *title);void space_to_plus(char *str);int main(int argc, char *argv[]) {        if (!database_initialise(0)) {        html_content();        html_start(title);        html_text("Sorry, database could not initialize");        html_text("<P>");        html_text("Please mail <A HREF=\"mailto:webmaster@anyhost.com\">webmaster</A> for assistance");        html_end();        exit(EXIT_SUCCESS);    }        if (!get_input()) {        database_close();        html_content();        html_start(title);        html_text("Sorry, METHOD not POST or GET");        html_text("Please mail <A HREF=\"mailto:webmaster@anyhost.com\">webmaster</A> for assistance");        html_end();        exit(EXIT_SUCCESS);    }    html_content();    html_start(title);    if (strcmp(name_val_pairs[0].name, req_one_entry) == 0) {            /* the value part is the current catalogue entry */        process_cat(name_val_pairs[0].name, name_val_pairs[0].value);    }    else {            /* No catalogue entry selected */        process_no_entry();            }    html_end();    database_close();        exit(EXIT_SUCCESS);}/* We got here because no entry is selected.   Show a standard screen   */void process_no_entry(void) {    char tmp_buffer[120];    char tmp2_buffer[120];        cdc_entry item_found;    int first_call = 1;    int items_found = 1;    html_header(1, "CD database listing");    html_text("Select a title to show the tracks");    html_text("<BR><HR><BR>");        while(items_found) {        item_found = search_cdc_entry("", &first_call);        if (item_found.catalogue[0] == '\0') {            items_found = 0;        }        else {            sprintf(tmp_buffer, "Catalogue: %s", item_found.catalogue);            html_text(tmp_buffer);            html_text("<BR><BR>");            strcpy(tmp2_buffer, item_found.catalogue);            space_to_plus(tmp2_buffer);            sprintf(tmp_buffer, "Title: <A HREF=\"/cgi-bin/cddb/cdhtml?CAT=%s\">%s</A>", tmp2_buffer, item_found.title);            html_text(tmp_buffer);            html_text("<BR><BR>");            sprintf(tmp_buffer, "Type: %s", item_found.type);            html_text(tmp_buffer);                            html_text("<BR><BR>");            sprintf(tmp_buffer, "Artist: %s", item_found.artist);            html_text(tmp_buffer);                            html_text("<BR><HR><BR>");        }    } /* while */}/*  we get here with addition parameters now parsed */void process_cat(const char *name_type, const char *cat_title) {    char tmp_buffer[120];        cdc_entry cdc_item_found;    cdt_entry cdt_item_found;        int first = 1;    int track_no = 1;        if (strcmp(name_type, req_one_entry) == 0) {        /* Screen with one entry, defined by cat_title to be shown */        html_header(1, "CD catalogue entry");        html_text("<BR><BR>");        html_text("Return to: <A HREF=\"/cgi-bin/cddb/cdhtml\">list</A>");        html_text("<BR><BR>");                html_text("<HR>");                cdc_item_found = search_cdc_entry(cat_title, &first);        if (cdc_item_found.catalogue[0] == '\0') {            html_text("Sorry, couldn't find item ");            html_text(cat_title);        }        else {                    sprintf(tmp_buffer, "Catalogue: %s", cdc_item_found.catalogue);            html_text(tmp_buffer);            html_text("<BR>");                            sprintf(tmp_buffer, "Title: %s", cdc_item_found.title);            html_text(tmp_buffer);            html_text("<BR>");            sprintf(tmp_buffer, "Type: %s", cdc_item_found.type);            html_text(tmp_buffer);                            html_text("<BR>");            sprintf(tmp_buffer, "Artist: %s", cdc_item_found.artist);            html_text(tmp_buffer);            html_text("<BR>");            html_text("<OL>");            cdt_item_found = get_cdt_entry(cdc_item_found.catalogue, track_no);            while(cdt_item_found.catalogue[0] != '\0') {                sprintf(tmp_buffer, "<LI> %s", cdt_item_found.track_txt);                html_text(tmp_buffer);                track_no++;                cdt_item_found = get_cdt_entry(cdc_item_found.catalogue, track_no);                            }            html_text("</OL>");            html_text("<HR>");        }    }}void space_to_plus(char *str) {    while (*str) {        if (*str == ' ') *str = '+';        str++;    }}

⌨️ 快捷键说明

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