c++截取字符串

<tr>
<td align="right"><font color="#FF6633" style="font-size:9px"></font><span class="stylel">标 题</span>:</td>
<td><input name="bt" type="text" size="57" maxlength="30">
<font color="#666666">可输入字数:3-20</font></td>
</tr>
<tr>
<td align="right"><font color="#FF6633" style="font-size:9px"></font><span class="stylel">内 容</span>:</td>
<td><textarea name="nr" cols="64" rows="9" ></textarea></td>
</tr>

<tr>
<td colspan="2" align="left" valign="middle" ><table width="564" border="0" cellspacing="1" style="border:#DBDBDB 1px solid;margin-left:16">
<tr>
<td width="560" height="30" align="left" ><br><span class="stylel" >价       格</span>:   <input name="dz" type="text" size="10">  元<br><br>
<span class="stylel">联 系 人</span>:   
<input name="lxr" type="text" size="22">
   <span class="stylel" ><br><br>联系方式</span>:   
<input name="dh" type="text" size="22"><br><br><span class="stylel" >密     码</span>:
    <input name="mm" type="text" size="20">删除信息时需要填写这个密码
</td>
</td>
</tr>
<tr>
<td height="29">
<div align="left">
<span class="stylel">验 证 码</span>:   <input class=wenbenkuang name=verifycode type=text value="" maxLength=4 size=12> 
<img src=../GetCode.asp width="59" height="18"></td></tr>

</table>
<span id=au></span></td>
</tr>

<tr>

<tr>
<td> </td>
<td><input type="submit" value="提交" name="submit" onClick="return confirm('确认无误请点确定!')">
</td>
</tr>

</table>
</form>

用c++在上面一段网页代码中截取出几个name="(字符串)"中字符串,分别付值给几个变量。

第1个回答  2011-01-28
#include <iostream>
#include <string>
using namespace std;

void display(const int *a)
{
for(int i=0;a[i];i++)
cout<<a[i]<<" ";
cout<<endl;
}

void cat(const string &str,int *temp,int &a)
{
int count=0,k=0;
unsigned int i=0;
char strtemp[255]=;
while(i<str.size())
{
while(isdigit(str[i])&&i<str.size())
strtemp[k++]=str[i++];
strtemp[k]='\0';
temp[count++]=atoi(strtemp);
strtemp[0]='\0';
k=0;
i++;
}
temp[count]='\0';
a=count;
}

int main()
{
string temp="444-43-2343-23432-33";
int aa[255];
int a=0;
cout<<temp<<endl;
cat(temp,aa,a);
display(aa);
cout<<"共"<<a<<"次!"<<endl;
return 0;
}
第2个回答  2011-02-04
#include<iostream>
#include<fstream>
#include<string>
#include<vector>
using namespace std;

int main()
{
fstream a("1.txt");
string temp;
vector<string> names;

while(a>>temp)
{
if(temp.find("name=\"") == -1)
continue;
size_t pos1=temp.find("\"");

// cout<<temp<<endl;
if(temp.find("\"",pos1+1) == -1)
continue;
size_t pos2=temp.find("\"",pos1+1);

// cout<<pos2<<endl;
string ans(temp,pos1+1,pos2-pos1-1);

names.push_back(ans);
}

return 0;
}
!!!!!!!!!!!前提: 网页内容都放到1.txt中

都放到vector<string> names;中了 程序比较粗糙,见谅
第3个回答  推荐于2016-09-20
C++的准标准库Boost有正则表达式的类boost::regex
用那个可以很容易地把字符串匹配下来

当然,更标准的方法是解析XML,对规范的网页比较有用本回答被提问者采纳

C++中截取字符串的方法有哪些
纯C++可以使用 substr string a = "01234567";string b = a.substr(2, 6);

c++怎么提取字符串的一部分
C++的string常用截取字符串方法有很多,配合使用以下两种,基本都能满足要求:find(string strSub, npos);find_last_of(string strSub, npos);其中strSub是需要寻找的子字符串,npos为查找起始位置。找到返回子字符串首次出现的位置,否则返回-1;注:(1)find_last_of的npos为从末尾开始寻找的位置。(...

c++字符串截取
字符串的存储。 c\/c++里面斜杠是转义符,因此所检阅的字符串中如何有“\\”的话,比如是这样的格式: ***\\\\***\\\\***\\\\**。 否则你应该按字节处理。如果是c++,那么用类库就可以解决。下面的例子通过stringstream转储string,然后分割存储到vector中,最后数数vector的size,然后-1,就是原来字符串...

C++中怎样截取字符串?
利用CString类的成员函数Trim把空格去掉,然后统计行的字符数length,按照长度2,14,14,等划分成一个CString数组(可以用Mid成员函数)。然后利用把CString转化成char类型数组,利用atof函数把该数组的数转化数值,然后判断观测值,大于1的data,放入到data1【】数组中即可。C语言是一门通用计算机编程语言...

C++如何截取字符串中从a位置到b位置
char dest[N];char *p;int i;p=dest;for(i=a;i<=b;i++,p++) *p = str[i];\/\/截取到dest[N]p = '\\0';方法3:\/\/...为了说明情况,假如有N>b>a>0,字符串str[]长度大于b char dest[N];strcpy(dest, &str[a]);\/\/截取到dest[N]dest[b-a] = '\\0';方法4:\/\/......

C++字符串截取
可以用substr这个方法,有两个输入参数分别为起始地址和截取的长度。s2 = s1.substr(0,3);s3 = s1.substr(4,3);如果写的更通用一点,就是先查找“+”的位置,然后在分隔。size_t iPos = s.find("+");s2 = s1.substr(0, iPos);s3 = s1.substr(iPos+1, s1.length()-iPos-1);

C++如何截取字符串中从a位置到b位置
方法1:\/\/...为了说明情况,假如有b>a>0,字符串str[]长度大于bchar *p;p = &str[a];*(p+(&str[b]-&str[a] + 1) = '\\0'; \/\/截取到指针p方法2:\/\/...为了说明情况,假如有N>b>a>0,字符串str[]长度大于bchar dest[N];char *p;int i;p=dest;for(i=a;i<=b;i++,...

c++ 如何截取字符串的后几位?
则直接截取全部字符串\\x0d\\x0a {\\x0d\\x0a strcpy(substr, str);\\x0d\\x0a return substr;\\x0d\\x0a }\\x0d\\x0aint k = 0;\\x0d\\x0a for(int i = strlen(str) - n - 1; i < strlen(str); i++)\\x0d\\x0a {\\x0d\\x0a substr[k++] = str...

C++截取一个指定字符前面的字符串
";cin>>c>>p;p=cmp(a,c,p);cout<<"截得的字符串为:\\n";for(int i=0;i<p;i++)cout<<a[i];cout<<endl;} 注意:输入的字符串不可超过char a[50],c;语句中指定的长度50,如果想输入更长的,可以将50改大些,同时cin.getline(a,50);中的50也要改成相应的值。

c++字符数组两个特定字符之间的字符怎么截取
c++字符数组两个特定字符之间的字符截取过程为:采用循环遍历字符数组,先找到第一个字符的位置 从该位置的下一个位置开始,将字符写到新的子串中,直到遇到第二个字符或字符串结束符,结束循环 置子字符串结束符 输出新的子字符串 参考代码:include <stdio.h>void substring( char *s, char ch1, ...

相似回答