弱问:如何从字符数组中摘出符合条件的存进数组?
先有一长串字符数组叫recvline[2048],这个数组不到2048个元素,但是每次个数不一样。但是每次必有 "host:********* "这样的字符,是关于IP地址的,我需要的就是host后面的内容。怎样host后面的IP地址存进hostname[50]里面。谢谢。
[解决办法]
recvline[2048];
hostname[50];
void process()
{
for(int i=0;i+4 <2048;i++)
{
if(recvline[i]== 'h '&&recvline[i+1]== '0 '&&recvline[i+2]== 's '
&&recvline[i+3]== 't '&&recvline[i+4]== ': ')
{
int pos=i+5;
for(int j=0;j <50;j++)
hostname[j++]=recvline[pos++];
}
}
}
[解决办法]
将字符数组recvline[2048]看成字符串指针char *recvline
直接使用strcpy,strstr等字符串操作函数