QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 560|回复: 2

请教:请帮忙看这段代码

[复制链接]
发表于 2003-7-21 14:32:36 | 显示全部楼层 |阅读模式
各位:
请帮忙看看这段代码:red linux 7下可通过,red linux 9下通不过.
#include<iostream>
#include&lt;fstream&gt;
#include&lt;cstdio&gt;
#include&lt;string&gt;

using namespace std;

class Applicant
{
public:
string name, city, address, phone, mail;
};

class WebProcess
{
public:
string input;
    string dest[5];
    Applicant app;
        
// get the value of "QUERY_STRING"
    void get()
    {
input.assign(getenv("QUERY_STRING"));
}

void replaceAll(const string &amp;findstr, const string &amp;replstr)
{
int found = input.find(findstr);
while(found != string::npos)
{
input.replace(found, findstr.length(), replstr);
found = input.find(findstr);
}
}

void urldecode()
{
replaceAll("%2C", ",");
replaceAll("+", " ");
split();
}

void split()
{
int count = 0;
char *p;
p = strtok(input.begin(), "&amp;");
while(p != NULL)
{
dest[count] = p;
count++;
p = strtok(0, "&amp;");
}

for(int counter = 0; counter != count; counter++)
{
dest[counter].erase(0, dest[counter].find("=")+1);
}

app.name = dest[0];
app.city = dest[1];
app.address = dest[2];
app.phone = dest[3];
app.mail = dest[4];
}

void save()
{
ofstream file;
file.open("test.dat", ios:ut|ios::app);
file.write((char *)&amp;app, sizeof(app));
file.close();
}

void display()
{
cout &lt;&lt; "Content-type:text/html"&lt;&lt;endl&lt;&lt;endl;
cout &lt;&lt; "&lt;html&gt;";
cout &lt;&lt; "<body>";
cout &lt;&lt; "&lt;h1&gt;";
cout &lt;&lt; "The details saved are :" &lt;&lt; "<br>";
cout &lt;&lt; "&lt;/h1&gt;";
cout &lt;&lt; "name is: " &lt;&lt; app.name &lt;&lt; "<br>";
cout &lt;&lt; "city is: " &lt;&lt; app.city &lt;&lt; "<br>";
cout &lt;&lt; "address is: " &lt;&lt; app.address &lt;&lt; "<br>";
cout &lt;&lt; "phone is: " &lt;&lt; app.phone &lt;&lt; "<br>";
cout &lt;&lt; "mail is: " &lt;&lt; app.mail &lt;&lt; "<br><br><br><br><br>";
cout &lt;&lt; "&lt;h2&gt;Your details have been recorded&lt;/h2&gt;";
cout &lt;&lt; "&lt;h1&gt;THANKS !!!!&lt;/h1&gt;";
cout &lt;&lt; "</body>";
cout &lt;&lt; "&lt;/html&gt;";
}

};

int main()
{
  WebProcess web;
web.get();
web.urldecode();
web.split();
web.save();
web.display();
return 0;
}


提示出错如下:

13d2.cc:48: cannot convert `__gnu_cxx::__normal_iterator&lt;char*,
   std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; &gt;' to
   `char*' for argument `1' to `char* strtok(char*, const char*)'
发表于 2003-7-21 17:55:16 | 显示全部楼层
怎么老有人问这个程序?看看前面的贴子吧
回复

使用道具 举报

 楼主| 发表于 2003-7-21 18:04:23 | 显示全部楼层
拜托。哪一个,说明白一点吧。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-15 09:11 , Processed in 0.034788 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表