Как внедрить Grep в CGI скрипт, пожалуйста? - PullRequest
1 голос
/ 06 мая 2010

Мне трудно понять, как внедрить grep в мой CGI-скрипт. В основном я получу значение, например. 1500 со страницы HTML. Затем выполняется сценарий CGI и сравнивается 1500 с текстовым файлом. Когда он находит 1500, он печатает всю строку и отображает ее на веб-странице. Я хотел бы несколько советов и указаний о том, как это сделать, пожалуйста. Я понимаю, что это связано с grep, но я не знаю, как это сделать.

#include <stdio.h>
#include <stdlib.h>
int main(void)
{
char *data;
long m,n;
printf("%s%c%c\n",
"Content-Type:text/html;charset=iso-8859-1",13,10);
printf("<TITLE>Webpage of Results</TITLE>\n");
printf("<H1>Temperatures</H1>\n");
data = getenv("QUERY_STRING");

HTML передает переменную time = 1500. Я понимаю (поправьте меня, если я ошибаюсь), что QUERY_STRING будет содержать 1500?

Ответы [ 2 ]

0 голосов
/ 06 мая 2010

Некоторым очень простым аналогом grep в C является strstr() function

0 голосов
/ 06 мая 2010

Для URL-адреса вида whatever?query-string переменная окружения QUERY_STRING содержит полный текст query-string - в вашем случае time=1500 или аналогичный.

Вы должны помнить, что может быть передано более одного поля / значения, разделенных &. Используя strtok(), вы можете извлечь части строки запроса одну за другой, strcmp() позволяет сравнить их с другими строками.

Если вы нашли нужный токен, вам нужно поработать с файлом:

  • fopen() используется для открытия файла
  • fgets() используется для извлечения строки
  • используйте strstr(), чтобы проверить, содержит ли строка определенную подстроку
  • используйте fclose(), чтобы закрыть файл, когда вы закончите
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...