[ 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. razb

    razb Active Member

    Joined:
    24 Mar 2009
    Messages:
    658
    Likes Received:
    133
    Reputations:
    18
    Этот хэдэр идет с исходниками ядра, можешь скачать поставить и указать к ним путь при компиляции. Заливать не буду т.к. там куча зависимостей от других хэдэров, проще скачать с kernel.org/репов и поставить.
     
    2 people like this.
  2. [FREE]

    [FREE] Member

    Joined:
    1 Nov 2008
    Messages:
    0
    Likes Received:
    55
    Reputations:
    0
    ок спасибо, а как именно сюда вписать
    if (a>b) cout<<"3na4enie a="<<a ; else cout<<"3na4enie b="<<b;?
    просто объясните как вставлять несколько условий
     
    #4982 [FREE], 27 Mar 2010
    Last edited: 27 Mar 2010
  3. Ins3t

    Ins3t Харьковчанин

    Joined:
    18 Jul 2009
    Messages:
    939
    Likes Received:
    429
    Reputations:
    139
    Code:
    ...
    if( a > b )
    {
         int var = 1;
         cout << "1";
    }
    else if( a < b )
    {
         int var = 2;
         cout << "2"; 
    }
    else if( a == b )
    {
         int var = 3;
         cout << "3";
    } 
    else
        cout << "Fuck OFF";
    ...
    Это как пример, а вообще стоит почитать про операторы множественного выбора.
     
  4. fker

    fker Member

    Joined:
    26 Nov 2008
    Messages:
    135
    Likes Received:
    64
    Reputations:
    -1
    Как программно инициировать событие Change компонента ComboBox?
    с++ builder
     
  5. zlo12

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

    Joined:
    28 Dec 2007
    Messages:
    535
    Likes Received:
    135
    Reputations:
    34
    Самый лёгкий вопрос:
    Копаясь в инете наткнулсо на книжку "С++ за 21 день". И подумал:"А почему бы и нет?!"...Всё бы кончилось хорошо, тока вот что: не знаю, что из ПО должно быть в наличии, чтоб изучать сей язык =( Подскажите плз
    P.S. а если ещё и ссылочку на скачку дадите, я вообще счастлив буду.
    ----
    Заранее спс
     
  6. GrimmJow

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

    Joined:
    24 Nov 2007
    Messages:
    36
    Likes Received:
    7
    Reputations:
    0
    2 zlo12
    Ну, книгу, думаю, ты уже скачал )

    Нужно еще Визуал Студио. Я пользуюсь версией 2008 (тоже учусь по книге 21день), хотя книга написана по более старой версии -2005

    Ну и ссылка на скачку :
    http://rutracker.org/forum/viewtopic.php?t=2566619
     
    4 people like this.
  7. DiHWO

    DiHWO Member

    Joined:
    23 Oct 2009
    Messages:
    93
    Likes Received:
    10
    Reputations:
    0
    wolmer, сэнк чел! А можешь объяснить почему с "/r/n" квадратика нет, а просто с "/n" есть?
     
  8. wolmer

    wolmer Member

    Joined:
    12 May 2009
    Messages:
    438
    Likes Received:
    97
    Reputations:
    9
    \r (возврат каретки), \n (перевод строки)

    Code:
    windows - "\r\n", unix - "\n", macos - "\n\r"
     
    #4988 wolmer, 28 Mar 2010
    Last edited: 28 Mar 2010
  9. GrimmJow

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

    Joined:
    24 Nov 2007
    Messages:
    36
    Likes Received:
    7
    Reputations:
    0

    Собственно, лучше поздно, чем никогда - додумался таки случайно, как сделать это.

    Если кому-то интересно:

    Code:
    int a, b, c, d; 
    cout << "Enter: "; 
    cin >> d;
    
    a = d/100; 
    b = (d-a*100)/10; 
    c = (d-a*100-b*10); 
    
    cout << c << b << a;
     
  10. Life7

    Life7 Banned

    Joined:
    14 Jun 2009
    Messages:
    150
    Likes Received:
    54
    Reputations:
    0
    помогите нубу:
    Ошибка при компиляции в Qt creator в linux
    выдает ошибку /bin/sh: : Permission denied
    Press enter to close this window
     
  11. Ins3t

    Ins3t Харьковчанин

    Joined:
    18 Jul 2009
    Messages:
    939
    Likes Received:
    429
    Reputations:
    139
    Написано же, что прав нету ( доступ запрещен, если дословно ):
     
    #4991 Ins3t, 28 Mar 2010
    Last edited: 28 Mar 2010
  12. transserg

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

    Joined:
    2 Jul 2008
    Messages:
    147
    Likes Received:
    25
    Reputations:
    2
    привет всем... подскажите как собрать PCRE 8.02 под VS 2008?
     
  13. GrimmJow

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

    Joined:
    24 Nov 2007
    Messages:
    36
    Likes Received:
    7
    Reputations:
    0
    Code:
    while( ( grade=cin.get() ) != EOF )
    	{
    		switch (grade){
    			case 'A': case 'a':
    				++aCount;
    				break;
    			default:
    				cout << "Введена неправельная буквенная оценка.\nВведите новую оценку.";
    				break;
    		}
    	}
    Почему при вводе слова "EOF", цикл всё равно запускается?
     
  14. Ins3t

    Ins3t Харьковчанин

    Joined:
    18 Jul 2009
    Messages:
    939
    Likes Received:
    429
    Reputations:
    139
    Потому, что нужно вводить не слово "EOF", а <ctrl> + z в Windows, или <ctrl> + d в UNIX.
     
  15. rudvil

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

    Joined:
    25 Aug 2008
    Messages:
    200
    Likes Received:
    29
    Reputations:
    0
    [C++]
    Нужно как-то ограничить используемую программой память, как в php.
    Выставил в настройках к примеру "20 мб" и выше этой планки программа потреблять памяти не будет.
    Насколько я понимаю, мне нужно перегрузить используемый мною оператор "new", и при каждой попытке выделении памяти, увеличивать счетчик.
    Ессно на столько, на сколько я хочу выделить память, например "new int[25]" я буду проверять как
    Code:
    if (currentMemory + sizeof(int) * 25 <= maxAllowedMemory) {
        // тут пошло выделение...
    }
    else {
        throw("что-нибудь");
    }
    я знаю что код будет не таким, это просто для примера...
    И проверять не превысил ли он максимально допустимое значение, опять же скажем 20 мб...
    Правильно я рассуждаю? илиже есть более правильные пути для решения этой задачи?
     
  16. Dark_Scorpicore

    Joined:
    4 Apr 2009
    Messages:
    53
    Likes Received:
    8
    Reputations:
    0
    Здравствуйте, господа форумчане!

    Вопрос по C, именно по библиотеке curl.

    Напомню, что в C для того, чтобы записать результат работы сессии курла, нужно юзать специальную функцию(в php удобнее - есть RETURNTRANSFER, но мы не ищем легких путей). Функция есть, нормально пишет.

    Если сайт-жертва делает редирект, то curl использует параметр
    Code:
    curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, true);
    для перехода по редиректу. Но пишет в итоговую переменную исходник НЕ той странички, на которую был редирект, а самой первой, на которой была ссылка с редиректом.

    Собственно, как решить данный трабл?

    Спасибо за помощь.
     
  17. qwert135

    qwert135 New Member

    Joined:
    22 Nov 2009
    Messages:
    53
    Likes Received:
    0
    Reputations:
    0
    всем привет.как на С++ реализовать следующее действие: передать одномерный массив,заданный через указатель, из одной функции в другую.спасибо.
     
  18. krypt3r

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

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    что-то типа
    Code:
    int func1 (int *array) {
    ...
    }
    
    int func2 (...) {
      myvar = func1 (massiv)
    }
    
    где massiv - указатель на одномерный массив
     
  19. SHiNiGaMi

    SHiNiGaMi Banned

    Joined:
    3 Jan 2010
    Messages:
    382
    Likes Received:
    55
    Reputations:
    15
    rudvil

    int CurrentMemory=0;
    int *pint = new int;
    if ((CurrentMemory +=sizeof(pint)) >= 20480)
    {
    cout << "память заполнена";
    delete pint;
    }
    else CurrentMemory +=sizeof(*pint);

    строго не судите, но возможно так
     
    #4999 SHiNiGaMi, 1 Apr 2010
    Last edited: 1 Apr 2010
    1 person likes this.
  20. rudvil

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

    Joined:
    25 Aug 2008
    Messages:
    200
    Likes Received:
    29
    Reputations:
    0
    Спасибо конечно, но я пока-что остановился на этом
    Code:
    void* operator new (std::size_t size) {
        /*
        тут проверка - не превысется ли лимит... при malloc
        */
        void* mem = std::malloc(size);
        if (!mem)
            ail::fatal_error("\n[ALLOCATING FAILED]\n");
        return mem;
    }
    
    void operator delete (void* mem) {
        std::free(mem);
    }
    
    void* operator new[] (std::size_t size) {
        /*
        тут проверка - не превысется ли лимит... при malloc
        */
        void* mem = std::malloc(size);
        if (!mem)
            ail::fatal_error("\n[ALLOCATING FAILED]\n");
        return mem;
    }
    
    void operator delete[] (void* mem) {
        std::free(mem);
    }
    т.б. глобально перегрузил операторы.
     
    #5000 rudvil, 1 Apr 2010
    Last edited: 1 Apr 2010
Thread Status:
Not open for further replies.