[ C / C++ ] — начинающим: задаем вопросы (архивная - 2015)

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by _Great_, 26 May 2007.

Thread Status:
Not open for further replies.
  1. St0nX

    St0nX Elder - Старейшина

    Joined:
    19 May 2007
    Messages:
    257
    Likes Received:
    46
    Reputations:
    0
    Не зацикливать программу а обрабатывать сообщение FD_READ.
    небольшой пример этого есть тут _ttp://www.compdoc.ru/prog/cpp/proxyserver/
     
  2. mr.Babay

    mr.Babay New Member

    Joined:
    14 Jan 2009
    Messages:
    10
    Likes Received:
    0
    Reputations:
    0
    Как реализовать сканер по локальной сети на определённый порт(а точнее на определённый софт "сидящий" на этом порту) и чтобы локальная сеть самоопределялась?!?
     
  3. St0nX

    St0nX Elder - Старейшина

    Joined:
    19 May 2007
    Messages:
    257
    Likes Received:
    46
    Reputations:
    0
    __tp://devoid.com.ua/pascal-delphi/delphi-network-programming/prosteishiy-skaner-portov-na-delphi.html
    Все делаеш по аналогии только в цикле меняеш IP. Переписать на си думаю не составит труда название функций и структур те же ибо апи.

    ps;начинать надо с google.com
     
  4. mr.Babay

    mr.Babay New Member

    Joined:
    14 Jan 2009
    Messages:
    10
    Likes Received:
    0
    Reputations:
    0
    St0nX, спасибо, НО

    Извиняюсь за не правильно поставленный вопрос, но мне нужно чтобы прога сама "тянула" локальный IP компа, а потом по маске вынутого IP сканировала сеть...

    баян :-В

    Ой, да и ещё там не объясняется как искать софт... как определить то что на этом порту то что надо!?
     
    #2444 mr.Babay, 26 Feb 2009
    Last edited: 26 Feb 2009
  5. FAVN117

    FAVN117 New Member

    Joined:
    27 Jul 2008
    Messages:
    6
    Likes Received:
    2
    Reputations:
    0
    Помогите найти ошибку

    Всем доброго времени суток! Помогите, пожалуйста, найти ошибку в программе. при вводе
    q q 1
    w w 2
    e e 3

    и записи этого в файл, вместо того, чтобы вывести из файла это же самое программа выводит только 1 2 и 3 :( в чём ошибка?

    Code:
    #include "stdafx.h"
    #include <iostream>
    #include <string.h>
    #include <cstring>
    #include <stdio.h>
    #include <fstream>
    #include <sstream>
    #include <conio.h>
    
    class tovar 
    {
    public:
    	char Firm[100];
    	char Name[100];
    	int Cena;
    	int dollar;
    	void enter_tovar(void);
    	void show_tovar(void);
    	void dollar_tovar(void);
    	void enter_file(void);
    	void show_file(void);
    };
    
    void tovar::enter_tovar(void)
    {
       std::cout << "Фирма: ";
       std::cin >> Firm;
       std::cout << "Модель: ";
       std::cin >> Name;
       std::cout << "Цена: ";
       std::cin >> Cena;
    };
    
    
    void tovar::show_tovar(void)
    {
      std::cout << std::endl << Firm << " " << Name << " " << Cena << std::endl;
    };
    
    void tovar::dollar_tovar(void)
    {  
     Cena=Cena / dollar;
    };
    
    void tovar::enter_file()
    {    
    	std::fstream file( "bd.txt", std::ios::app); 
          file << Firm << "\n";
          file << Name << "\n";
          file << Cena << "\n";
    	file.close();
    
    };
    
    void tovar::show_file()
    {   
          std::fstream file( "bd.txt", std::ios::app);
          file.open( "bd.txt", std::ios_base::in );
    	    file >> Firm;
            file >> Name;
    		file >> Cena;
    	  file.close();
    };
    
    
    int main() { 
    	setlocale(LC_ALL,"Russian");
       tovar st[3];
          int n = 3;
          int a, d;
    
       do{std::cout << "1-Ввод данных | " << "2-Вывод на экран | " << "3-Перевести рубли в доллары | " << "4-Сохранить файл | " << "ESC - Выход \n"; 
    	  a=getch(); switch(a) 
    	  {
    	    case 49:
             for(int i=0; i<n; i++) {
               st[i].enter_tovar();
    	       system("cls");
    		 }  
    	    break;
    
    	    case 50:
             for(int i=0; i<n; i++) {
    		   st[i].show_tovar();
    		 }
    	       getch();
    	       system("cls");
    	   break;
    
    	   case 51:	
    	       system("cls");
    	       std::cout << "Введите курс доллара:";
    	       std::cin >> st[1].dollar;
    	       st[0].dollar=st[2].dollar=st[1].dollar;
    	     for (int i=0; i<n; i++){
    		   st[i].dollar_tovar();
    		 }
    		  break;
    
    	    case 52:
    		   std::fstream file( "bd.txt", std::ios::app );    
             for ( int i = 0; i < n; i++ )
             {
    		   st[i].enter_file();
    	     }
    	 
             for ( int i = 0; i < n; i++ )
             {
               st[i].show_file();
             }
            
    	     for ( int i = 0; i < n; i++ )
               std::cout << std::endl << st[i].Firm << " " << st[i].Name << " " << st[i].Cena << std::endl;
    
    	    break;
    
    	/*  case 53:
         
    		
    
    		  break;*/
    
    	  
    	  }
    	  } while(a!=27);
    	   return(0);
    
    }  /[CODE]
     
  6. St0nX

    St0nX Elder - Старейшина

    Joined:
    19 May 2007
    Messages:
    257
    Likes Received:
    46
    Reputations:
    0
    gethostname() - используя ее получаеш ип приводиш к нужному виду далее все о чем я говорил выше.

    Я не знаю такого метода сканирования. Если только проверять не зарезервирован он под какую то службу или нет.
    __tp://bugtraq.ru/library/books/attack/chapter05/
     
  7. NorB

    NorB Elder - Старейшина

    Joined:
    20 Jul 2007
    Messages:
    109
    Likes Received:
    12
    Reputations:
    -2
    Какие win32 api использовать чтоб просмотреть данные о файле время создание и тп...подскажите пожалуйста.
     
  8. VAMPIRE

    VAMPIRE Banned

    Joined:
    2 Oct 2005
    Messages:
    23
    Likes Received:
    2
    Reputations:
    0
    MSDN
     
  9. NorB

    NorB Elder - Старейшина

    Joined:
    20 Jul 2007
    Messages:
    109
    Likes Received:
    12
    Reputations:
    -2
    ага пасиба огромное
     
  10. Kuzya

    Kuzya Elder - Старейшина

    Joined:
    27 Apr 2008
    Messages:
    166
    Likes Received:
    106
    Reputations:
    30
    Как внутри функции main() получить содержимое параметров если они передавались так:
    test.exe -h param_value -t param_value
    ?
     
  11. 0x0c0de

    0x0c0de Elder - Старейшина

    Joined:
    25 May 2007
    Messages:
    441
    Likes Received:
    396
    Reputations:
    297
    int _tmain(int argc, _TCHAR* argv[])

    прототип функции мэйн для консоли. первый параментр - количество аргументов, второй параметр - массив строк - аргументов

    пример

    printf("File %ws\n",argv[0]);
    printf("First arg %ws\n",argv[1]);

    для юникода. если ASCII, то не %ws, а %s
     
    #2451 0x0c0de, 27 Feb 2009
    Last edited: 27 Feb 2009
  12. G.H.O.S.T

    G.H.O.S.T Member

    Joined:
    3 Mar 2008
    Messages:
    0
    Likes Received:
    6
    Reputations:
    0
    Самый гениальный вопрос-)
    Я с давних времен использую Борланд С 3.1
    Какие принципиальные отличия, улучшения в более новых версиях?
     
  13. h01der

    h01der New Member

    Joined:
    17 Feb 2009
    Messages:
    12
    Likes Received:
    2
    Reputations:
    0
    google закрыли?!
     
  14. G.H.O.S.T

    G.H.O.S.T Member

    Joined:
    3 Mar 2008
    Messages:
    0
    Likes Received:
    6
    Reputations:
    0
    h01der, иди в школу.
    Я спросил у знающих людей, что они посоветуют, это явно не ты
     
  15. Fl0dER

    Fl0dER New Member

    Joined:
    22 Dec 2008
    Messages:
    81
    Likes Received:
    3
    Reputations:
    0
    Народ помогите ... Ужас замучился
    Мне надо прочитать данные из реестра типа REG_SZ ,
    юзаю RegQueryValueExA ... но правельно не как немогу использовать , то выдает неправельно , менял типы unsigned char ошибка компиляции пугается и т.д Уже весь нет облазил .... Помогите


    Вот код
    Code:
    unsigned long size = 15;
    unsigned char *id;
    DWORD type = REG_SZ;
    
    
    HKEY rKey;
    RegOpenKeyExA(HKEY_CURRENT_USER,"Software\\MyProg",0,KEY_READ,&rKey);
    RegQueryValueExA(rKey,"id",NULL,NULL,&id,size);
     
    #2455 Fl0dER, 27 Feb 2009
    Last edited: 27 Feb 2009
  16. Kuzya

    Kuzya Elder - Старейшина

    Joined:
    27 Apr 2008
    Messages:
    166
    Likes Received:
    106
    Reputations:
    30
    Как получить время с милисекундами в формате unix? Фактически нужен аналог PHP-функции microtime
     
  17. Kuzya

    Kuzya Elder - Старейшина

    Joined:
    27 Apr 2008
    Messages:
    166
    Likes Received:
    106
    Reputations:
    30
    0x0c0de, спасибо, но мне кажется что ты это про обычные параметры типа
    test.exe value1 value2
    Порывшись гугле я понял что мне нужно подобие юниксовской getopt(). Не знете где её взять?
     
  18. NorB

    NorB Elder - Старейшина

    Joined:
    20 Jul 2007
    Messages:
    109
    Likes Received:
    12
    Reputations:
    -2
    printf(FindFileData.dwFileAttributes); как преобразовать тип в скобках dword как его сделать чар?) printf((char)FindFileData.dwFileAttributes) Неканает подскажите если нетрудно.
     
  19. 0x0c0de

    0x0c0de Elder - Старейшина

    Joined:
    25 May 2007
    Messages:
    441
    Likes Received:
    396
    Reputations:
    297
    Сделать можно с помощью (char *), но судя по параметру, который вы хотите передать printf у вас все равно ничего не заработает, хотя и скомпилится. Даже описание параметров printf не удосужились посмотреть. printf в качестве первого аргумента принимает указатель на строку, а поле структуры dwFileAttributes - это не указатель на строку (видите, там dw - DWORD).

    Если вам надо вывести это поле, делайте это так

    printf("FindFileData.dwFileAttributes = %X\n",FindFileData.dwFileAttributes);
     
    #2459 0x0c0de, 28 Feb 2009
    Last edited: 28 Feb 2009
    1 person likes this.
  20. Fl0dER

    Fl0dER New Member

    Joined:
    22 Dec 2008
    Messages:
    81
    Likes Received:
    3
    Reputations:
    0
    Что не кто не может помочь ? Воторой день мучаюсь

    как прочитать ключ REG_SZ из реестра ?
     
Thread Status:
Not open for further replies.