Osaisiko joku auttaa: C++ ongelma.

Pitäisi tehdä seuraava fuktio GetCGIParams. Miten tälläinen fuktio kannattaisi tehdä?

char input[200]= "muuttuja1=hei&muuttuja2=moi&muuttuja3=terve&submit2=Submit";

GetCGIParams(string temp1, "muuttuja1", input);
GetCGIParams(string temp2, "muuttuja2", input);
GetCGIParams(string temp3, "muuttuja3", input);
GetCGIParams(string temp4, "submit2", input);

Osaisiko joku auttaa?

temp1 pitäisi sisältää tekstin "hei"
temp2 pitäisi sisältää tekstin "moi"
temp3 pitäisi sisältää tekstin "terve"
temp3 pitäisi sisältää tekstin "Submit"
9808
Äänestä

Muut lukivat myös

Vastaukset 9

Vanhimmat

"Pitäisi tehdä seuraava fuktio GetCGIParams."

"temp1 pitäisi sisältää tekstin "hei" "
no... string temp1 = "hei";

Valitan, mutta minä en ainakaan ymmärtänyt mitä haet takaa, postaa koko funktio tänne ja selitä kenties vielä kenties paremmin?

btw.
"
char input[200]= "muuttuja1=hei&muuttuja2=moi&muuttuja3=terve&submit2=Submit";"
Mikä sinulla on tuosa ideana?..

Oletko ohjelmoinut aikaisemmin C :lla?

"getCgiParams()
descrip
Returns a hash of (key,value) pairs extracted from the script cmd-line, where the 1st arg is a CGI-encoded string received from a web browser.
params

returns
table tHash = { ["key0"]=val0, ["key1"]=val1, ... } where script arg0 = 'key0=val0&key1=val1...'
or
nil if invalid format in CGI string

notes
This function is used in scripts that are executed in response to a web browser request.
See 'Web Browser Interface' in the User Manual docs for more information.
"
http://rbuilder.sourceforge.net/lua_lib.html#getCgiParams

Äänestä
  • >>Valitan, mutta minä en ainakaan ymmärtänyt mitä haet takaa, postaa koko funktio tänne ja selitä kenties vielä kenties paremmin?

    Ongelmana on juuri, että sitä ei ole vielä olemassa C :lla. Yritän tehdä CGI:tä C :lla. Ei ole juuri ollenkaan C -kokemusta.

    Ongelma:
    Tälläinen saadaan inputtina: (voi tietysti muutella. =-merkin jälkeen voi tulla aina eri arvo)

    char input[200]= "muuttuja1=hei&muuttuja2=moi&muuttuja3=terve&submit2=Submit"

    Pitäisi tehdä GetCGIParams-funktio, joka käy kirjain kerralla tuota (ASCII) input stringiä läpi ja poimisi sieltä halutun parametrin esim. temp1-muuttujaan.)

    Eli GetCGIParams poimisi tekstistä(halutun) muuttuja1:n arvon temp1 muuttujaan. (eli lukisi kirjain kerralla tuota ASCII input stringiä. )

    Kiitos etukäteen.

    Äänestä

  • harjoittelija kirjoitti:

    >>Valitan, mutta minä en ainakaan ymmärtänyt mitä haet takaa, postaa koko funktio tänne ja selitä kenties vielä kenties paremmin?

    Ongelmana on juuri, että sitä ei ole vielä olemassa C :lla. Yritän tehdä CGI:tä C :lla. Ei ole juuri ollenkaan C -kokemusta.

    Ongelma:
    Tälläinen saadaan inputtina: (voi tietysti muutella. =-merkin jälkeen voi tulla aina eri arvo)

    char input[200]= "muuttuja1=hei&muuttuja2=moi&muuttuja3=terve&submit2=Submit"

    Pitäisi tehdä GetCGIParams-funktio, joka käy kirjain kerralla tuota (ASCII) input stringiä läpi ja poimisi sieltä halutun parametrin esim. temp1-muuttujaan.)

    Eli GetCGIParams poimisi tekstistä(halutun) muuttuja1:n arvon temp1 muuttujaan. (eli lukisi kirjain kerralla tuota ASCII input stringiä. )

    Kiitos etukäteen.

    Koska tossa ei ilmeisesti ennakkoon tiedetä &muuttuja=ARVO&muuttuja... tuota ARVO:n pituutta, eikä se ole numeroarvokaan, näkisin parhaana vaihtoehtona ottaa vain '=' ja '&' merkkien välien tekstin ja sijoittaa se muuttujaan.

    Äänestä

  • harjoittelija kirjoitti:

    >>Valitan, mutta minä en ainakaan ymmärtänyt mitä haet takaa, postaa koko funktio tänne ja selitä kenties vielä kenties paremmin?

    Ongelmana on juuri, että sitä ei ole vielä olemassa C :lla. Yritän tehdä CGI:tä C :lla. Ei ole juuri ollenkaan C -kokemusta.

    Ongelma:
    Tälläinen saadaan inputtina: (voi tietysti muutella. =-merkin jälkeen voi tulla aina eri arvo)

    char input[200]= "muuttuja1=hei&muuttuja2=moi&muuttuja3=terve&submit2=Submit"

    Pitäisi tehdä GetCGIParams-funktio, joka käy kirjain kerralla tuota (ASCII) input stringiä läpi ja poimisi sieltä halutun parametrin esim. temp1-muuttujaan.)

    Eli GetCGIParams poimisi tekstistä(halutun) muuttuja1:n arvon temp1 muuttujaan. (eli lukisi kirjain kerralla tuota ASCII input stringiä. )

    Kiitos etukäteen.

    Split-funktio olisi hyvä tuossa. Googlella löytynee.

    Äänestä

kokeileppas tätä ajankuluksesi:

sscanf(data, "luku1=%d&luku2=%d", &luku1, &luku2);

eli tohon tyyliin

Äänestä

Jos korvaisit muuttuja1=arvo&muuttuja2=arvo jos korvaisit tuon & merkin " " merkillä eli whitespacella. Tällöin onnistuisi seuraava:

#include

using namespace std;

int main ()
{
char buffer2[100] = "luku1=arvoy luku2=arvox";
char da1[30], da2[30];
sscanf(buffer2, "%*6c%s %*6c%s", &da1, &da2);
return 0;
}

Äänestä
  • Moi!

    Sain toimimaan, mutta tuon std:n kanssa en saanut cout-komentoa toimimaan.

    Tässä toimiva koodi:

    #include
    #include

    bool GetCGIParams(char *param, char *findfrom, char *storeresult);

    int main()
    {
       char input[200]= "muuttuja1=hei&muuttuja2=moi&muuttuja3=testimies&submit2=Submit";
       char kohde[200]="moikka ";

       cout

    Äänestä

  • harjoittelija kirjoitti:

    Moi!

    Sain toimimaan, mutta tuon std:n kanssa en saanut cout-komentoa toimimaan.

    Tässä toimiva koodi:

    #include
    #include

    bool GetCGIParams(char *param, char *findfrom, char *storeresult);

    int main()
    {
       char input[200]= "muuttuja1=hei&muuttuja2=moi&muuttuja3=testimies&submit2=Submit";
       char kohde[200]="moikka ";

       cout

    melko monimutkainen mutta toimiva =)

    vähemmälläkin pääsisi

    Äänestä

  • harjoittelija kirjoitti:

    Moi!

    Sain toimimaan, mutta tuon std:n kanssa en saanut cout-komentoa toimimaan.

    Tässä toimiva koodi:

    #include
    #include

    bool GetCGIParams(char *param, char *findfrom, char *storeresult);

    int main()
    {
       char input[200]= "muuttuja1=hei&muuttuja2=moi&muuttuja3=testimies&submit2=Submit";
       char kohde[200]="moikka ";

       cout

    "Sain toimimaan, mutta tuon std:n kanssa en saanut cout-komentoa toimimaan. "

    "#include "

    käytä

    #include // huom. ei .h
    using namespace std;

    se on ansi-c :a
    iostream.h header ei ole.

    Äänestä

Kommentoi aloitusta


harjoittelija kirjoitti:

Pitäisi tehdä seuraava fuktio GetCGIParams. Miten tälläinen fuktio kannattaisi tehdä?

char input[200]= "muuttuja1=hei&muuttuja2=moi&muuttuja3=terve&submit2=Submit";

GetCGIParams(string temp1, "muuttuja1", input);
GetCGIParams(string temp2, "muuttuja2", input);
GetCGIParams(string temp3, "muuttuja3", input);
GetCGIParams(string temp4, "submit2", input);

Osaisiko joku auttaa?

temp1 pitäisi sisältää tekstin "hei"
temp2 pitäisi sisältää tekstin "moi"
temp3 pitäisi sisältää tekstin "terve"
temp3 pitäisi sisältää tekstin "Submit"

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu