-DEN-
New Member
данный материал я читал даже более того использовал в написании проги, но всеже не смог по нему разобратсо с параметрами командной строки...You must be registered for see linksНаучитесь наконец поиском пользоваться!!!
данный материал я читал даже более того использовал в написании проги, но всеже не смог по нему разобратсо с параметрами командной строки...You must be registered for see linksНаучитесь наконец поиском пользоваться!!!
я разоюбрался, и переделалданный материал я читал даже более того использовал в написании проги, но всеже не смог по нему разобратсо с параметрами командной строки...
#include "iostream"
int main(int argc, char* argv[])
{
int count=1;
while(argc>count)
{
std::cout<<"Parametr #"<<count<<" - "<<argv[count]<<"\n";
count++;
}
return 0;
}
40 192.168.0.25 TCP_MISS/404 670 GET http://traffic.maps.yandex.net/tiles/2000? DEFAULT_PARENT/127.0.0.1 text/html
293 192.168.0.16 TCP_MISS/404 343 GET http://cb.icq.com/cb/icqsrp/10/srp.cb? DEFAULT_PARENT/127.0.0.1 text/html
18 192.168.0.16 TCP_MISS/301 272 GET http://www.punto.ru/ DEFAULT_PARENT/127.0.0.1 text/html
298 192.168.0.16 TCP_MISS/404 343 GET http://cb.icq.com/cb/icqsrp/10/srp.cb? DEFAULT_PARENT/127.0.0.1 text/html
51 192.168.0.16 TCP_REFRESH_MISS/200 7403 GET http://punto.yandex.ru/ DEFAULT_PARENT/127.0.0.1 text/html
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define k 4
typedef char str120[120];
struct sqlgip{
int a;
int b;
int c;
int d;
};
struct sqlg {
int elapsed;
sqlgip ip;
char status_http[100];
int size;
char method[10];
char url[100];
char hierstatus_hierhost[100];
char type[25];
};
FILE *f;
int i,j,w;
str120 s[k];
sqlg mas[100];
sqlgip gg[100];
char u[100];
void main (int col, char *fname[40]){
w=0;
f=fopen(fname[1],"r");
if(f == NULL){
puts("the end");
return ;
}
for(i=0;i<k;i++){
if(NULL==fgets(s[i],sizeof(s),f)){
printf("Ne udalos schitat stroku");
}
}
int a, b, c, d;
for(i=0;i<k;i++){
sscanf(s[i],"%d%d.%d.%d.%d%s%d%s%s%s%s",&mas[i].elapsed,&a,&b,&c,&d,mas[i].status_http,&mas[i].size,mas[i].method,mas[i].url,mas[i].hierstatus_hierhost,mas[i].type);
mas[i].ip.a = a;
mas[i].ip.b = b;
mas[i].ip.c = c;
mas[i].ip.d = d;
}
int p;
for (w = 0; w < k; w++){
for(i=0; mas[w].url[i] != '/'; i++);
i++;
p = 0;
for(j=i+1;(mas[w].url[j] != '/') && ( mas[w].url[j] !='\0');j++){
u[p++]= mas[w].url[j];
}
strcpy(mas[w].url,u);
}
sscanf(fname[2],"%d.%d.%d.%d",&gg[0].a,&gg[0].b,&gg[0].c,&gg[0].d);
for(i=0;i<k;i++){
if(((gg[0].a==mas[i].ip.a)&&(gg[0].b==mas[i].ip.b)&&(gg[0].c==mas[i].ip.c)&&(gg[0].d==mas[i].ip.d))){
printf("%s\n",mas[i].url);
}
}
fclose(f);
}
Возможно Вам стоит добавить символ окончания строки в то место, где вы вырезаете из адреса хост.В командной строке мы вводим имя екзешника, имя лог файла и айпи. И оно должно вывести посещенные сайты с этого айпи. Проблема в том, что адреса сайтов выводит некоректно и цепляет части из названий других сайтов (см. вложение). Может найдеться добрый человек и посоветует как исправить. Заранее спасибо
u[p] = 0;
Точно. спасибо. прогнал конечно с этим ))Возможно Вам стоит добавить символ окончания строки в то место, где вы вырезаете из адреса хост.
Код:u[p] = 0;
так не бывает. по крайней мере я не сталкивался ни с одним прецедентом.люид может хто знает как создать поток в однйо программе но привязать его к другой - так мол это поток другой программы при чем необезательно чтобы он использовал адресное пространство первой программы?
а так бывает ? хоть 1 пример. файнридер ? я чёто не уверен что он обучает эксплорер открывать папки. вобщем, тут хз..и как можно сделать чтобы папка представлялась для виндовс в виде файла и расширениеем, и винда предлагала его открыть какойто программой?