Введение в CGI

Оператор if


Условное исполнение части кода программы в С определяется оператором if. В общем случае он имеет синтаксис:

if(условие) оператор; [else оператор;]

или

if(условие) { тело_блока } [else { тело_блока }]

В этой записи "условие" — это логическое выражение, которое возвращает значения "истина" или "ложь", например, "x>y". Оператор в данном контексте — это простой оператор С, например, "x=1". Блок — это совокупность простых операторов и/или блоков. Самый простой пример применения if — определение метода доступа к CGI-скрипту:

char *query; int n; ... if(strcmp(getenv("REQUEST_METHOD"),"GET")) { query = getenv("QUERY_STRING"); } else { n = atoi(getenv("CONTENT_LENGTH")); query = (char *) malloc(n+1); memset(query,'\000',n+1); fread(query,n,1,STDIN); }

В данном случае в качестве условия используется функция сравнения двух строк. Если результат сравнения – "истина", то исполняется первый блок (запрос из переменной окружения QUERY_STRING), если результат сравнения – "ложь", то считываем запрос из стандартного ввода скрипта.



Содержание раздела