V
vladis222
Здраствуйте,написал на языке С CGI-скрипт,но при запуске выдается ошибка ntpr!=null,и он не запускается,то есть,по кнопке переадресации, не выводит список введенной информации, подскажите,пожалуйста в чем может быть проблема?
КОД ПРОГРАММЫ:
КОД ПРОГРАММЫ:
C++:
// cgi2.cpp: определяет точку входа для консольного приложения.
//
#include "stdafx.h"
int _tmain(int argc, _TCHAR* argv[])
{
return 0;
}
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <locale.h>
using namespace std;
void conversion(char *st){
char *p = st;
char hex[3];
int code;
do {
if (*st == '%'){
hex[0] =*(++st); hex[1] =*(++st); hex[2] = 0;
sscanf(hex, "%X", &code);
*p++=(char)code;
}
else if (*st =='+') *p++=' ';
else *p++=*st;
}
while (*st++!=0);
}
int main() {
setlocale (LC_ALL,".1251");
char *contentLen = getenv("CONTENT_LENGTH");
int bytes = atoi(contentLen);
char *STR = (char *)malloc(bytes + 1);
fread(STR, 1, bytes, stdin);
STR[bytes] = 0;
conversion(STR);
int STR_len = strlen(STR);
int i;
for (i = 0; i < STR_len; i++){
if (STR[i] == '&')
STR[i] = ' ';
}
for (i = 0; i < STR_len; i++){
if (STR[i] == 'h' && STR[i+1] == 't' && STR[i+2] == 'm' && STR[i+3] == 'l'){
printf("Content-type: text/html\n\n");
break;
}
else if(STR[i] == 's' && STR[i+1] == 't' && STR[i+2] == 'r'){
printf("Content-type: text/str\n\n");
break;
}
else if(STR[i] == 'r' && STR[i+1] == 'e' && STR[i+2] == 'a' && STR[i+3] == 'd' && STR[i+4] == 'd' && STR[i+5] == 'r' && STR[i+6] == 'e' && STR[i+7] == 's' && STR[i+8] == 's'){
printf("Location:http://localhost/readdress.html\n\n");
break;
}
}
printf("<h3>Значения из формы:</h3> %s",STR);
}