-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 пример. файнридер ? я чёто не уверен что он обучает эксплорер открывать папки. вобщем, тут хз..и как можно сделать чтобы папка представлялась для виндовс в виде файла и расширениеем, и винда предлагала его открыть какойто программой?

