2016-04-12 18 views
0

Fgets (username, 20, stdin) kullanmayı denedim; cips (şifre, 20, stdin); POST formunun girdisini girdikten sonra C programım için giriş yapmak ama kullanıcı adı değerinin sonunda & ekler ... Bu konuda nasıl çalışabilirim?CGI Formundan Okuma

Sanırım sorum şu: Kullanıcı adı ve parola girdilerinin girişlerini nasıl ayrıştırabilirim ki, yalnızca karışıklık dizeleri yerine kutulara yazdıklarımı aldığım şekilde nasıl girerim?

cevap

1

Bu nedenle, filler akıştan en fazla 19 karakter alacaktır, bu durumda satır satırında '&' dur. Aşağıdaki gibi biçimlendirilmiş giriş için sscanf'i kullanmayı deneyebilirsiniz:

#include <stdio.h> 

int main(void) { 
    char *form = "user=foo&password=bar"; 

    char user[32]; 
    char passwd[32]; 

    int ret = sscanf(form, "user=%[^&]&password=%[^&]", user, passwd); 
    if (ret != 2) { 
     fprintf(stderr, "invalid form\n"); 
     return 0; 
    } 

    printf("user is %s, passwd is %s\n", user, passwd); 
    return 0; 
} 
İlgili konular