#include "cgi.h" // modulo di prova... ult mod 27-11-02 /*** Gennaio 2017 --- cgi lanciato da modulo html (copia/incolla in file .html)

Prova CGI2017-Linguaggio C: includi solo "cgi.h". Funzione: cscanf(char nomevariabile[], char fmt[], ...);

Immetti una stringa senza spazi: cscanf() con parametro %s

Immetti una stringa anche con spazi: cscanf() con parametro %S

Immetti un intero: cscanf() con parametro %d

Immetti un double: cscanf() con parametro %lf

Immetti un vettore di esattamente 5 float: cscanf() con parametri %f %f %f %f %f

Immetti un vettore di stringhe o di numeri o misto senza limite: cscanf() con parametro %V

***/ void stampavettore(ARRAY v[]) /// tipo print_r() del PHP { int i; for (i=0; v[i]; i++) printf("v[%d]=%s
\n",i,v[i]); } int vettoreint(char *a[],int v[]) /// Trasformare un ARRAY in un vettore di interi (usa atof() per i double) { int i; for(i=0; a[i] != NULL; i++) v[i]=atoi(a[i]); return i; } double somma(int v[],int dim) { double s=0.0; int i; for (i=0; i < dim; i++) s+=v[i]; return s; } int main() { int i,num; char str[80]; ARRAY V[100]; /// vettore non tipizzato: sempre un vettore di stringhe /// con atoi() o atof() lo trasformi in numeri double d; float f[5]; int v[100]; /// vettore classico cgi(); testa(); /// Vanno sempre lanciate a inizio programma CGI /// cscanf() sta per CgiScanf() ==> scanf x cgi !!! cscanf("intero","%d",&num); /// Attenzione Scanf e non scanf !!!! printf("intero letto dal modulo=%d
\n",num); cscanf("stringa1","%s",str); /// %S = stringa, senza spazi printf("stringa senza spazi=%s
\n",str); cscanf("stringa2","%S",str); /// %S = stringa, copio anche gli spazi printf("stringa anche con spazi=%s
\n",str); cscanf("double","%lf",&d); printf("double letto dal modulo=%lf
\n",d); cscanf("vettore5f","%f %f %f %f %f",&f[0],&f[1],&f[2],&f[3],&f[4]); for (i=0; i < 5; i++) printf("vettoredi5float[%d]=%f
\n",i,f[i]); printf("
\n"); cscanf("vettore","%V",V); /// %P = vettore di qualsiasi dimensione stampavettore(V); num=vettoreint(V,v); /// da ARRAY V[] a int v[] printf("
Elementi letti da vettore=%d, media=%lf",num,somma(v,num)/num); debug(); /// puoi togliere o mettere in commento... tipo phpinfo() piede(); /// va chiamata a fine programma CGI return 0; }