#include <stdio.h>
#include <stdlib.h>
#define DATAFILE "/webfile/configxml"
int main()
{
FILE *fp = NULL;
char *lenstr;
char *envbuf;
int len;
printf("%s%c%c\n", "Content-Type:text/html;charset=iso-8859-1",13,10);
printf("<TITLE>Response</TITLE>\n");
lenstr = getenv("CONTENT_LENGTH");
if ((len=atoi(lenstr)) > 0)
envbuf = malloc(len+1);
fread(envbuf,sizeof(char),len,stdin);
fp = fopen(DATAFILE, "w+");
fputs(envbuf, fp);
fclose(fp);
if (len>0)
{
free(envbuf);
}
return 0;
}
开始用相对路径一直存不上数据,后来改成绝对路径才可以。
printf("%s%c%c\n", "Content-Type:text/html;charset=iso-8859-1",13,10);这句话是对浏览器做出回应,
在post下需要lenstr = getenv("CONTENT_LENGTH");读取浏览器post发送的数据大小,fread(envbuf,sizeof(char),len,stdin);用这个函数读取。