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

    iv. Elder - Старейшина

    Joined:
    21 Mar 2007
    Messages:
    1,183
    Likes Received:
    438
    Reputations:
    107
    <навеяно предыдущим постом>
    Ребят, а у кого-нибудь вообще запустилась Msdn9, которая идет с Vs2008?
    Vs2008 - АД. =\
    </навеяно предыдущим постом>
     
  2. ForNeVeR

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

    Joined:
    1 May 2006
    Messages:
    67
    Likes Received:
    31
    Reputations:
    0
    У меня урезанная версия Express Edition, MSDN (тоже урезанная) идёт без проблем... Половины хелпа по нативным функциям нет (слава Ктулху, соединение с онлайн-версией работает стабильно). Однако запускается...
     
  3. KSoniX

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

    Joined:
    17 Jan 2008
    Messages:
    94
    Likes Received:
    12
    Reputations:
    1
    В Си как можна узнать активного раздела и имия пользователя?
     
  4. zythar

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

    Joined:
    16 Feb 2008
    Messages:
    517
    Likes Received:
    109
    Reputations:
    5
    Code:
    #include <unistd.h>
    #include <sys/types.h>
    
         uid_t getuid(void);
    
    это чтобы узнать уид юзверя.
    или же если нужно конкретно имя то
    Code:
    int main()
    {
            system("echo $USER");
            return 0;
    }
    
    выведет на стандартный вывод имя юзверя
     
    #824 zythar, 7 Mar 2008
    Last edited: 7 Mar 2008
  5. KSoniX

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

    Joined:
    17 Jan 2008
    Messages:
    94
    Likes Received:
    12
    Reputations:
    1
    а как узнать активный раздел?
     
  6. Piflit

    Piflit Banned

    Joined:
    11 Aug 2006
    Messages:
    1,249
    Likes Received:
    585
    Reputations:
    31
    KSoniX pwd
     
  7. z01b

    z01b Муджахид

    Joined:
    5 Jan 2007
    Messages:
    494
    Likes Received:
    382
    Reputations:
    22
    system("pwd"); : :rolleyes:
     
  8. Irdis

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

    Joined:
    6 Feb 2006
    Messages:
    248
    Likes Received:
    52
    Reputations:
    3
    народ помогите в С++!!!
    нужно в динамический масив добавить один элемент за пределами его памяти (т,е увеличить дин. массив на единицу сохранив его прежнии элементы)
    Хочется это сделать это как можно быстрее (в смысле не заниматся копированием массива, потом увеличением и т.д. ), ибо задача на комбинаторику.
     
  9. Delimiter

    Delimiter Banned

    Joined:
    8 Apr 2005
    Messages:
    317
    Likes Received:
    173
    Reputations:
    12
    что такое динамический массив из ваших уст?

    а вообще списки это простейшая реализация того о чем вы говорите

    допустим есть елемент
    struct el
    {
    //----------
    само значение
    //----------
    char *addr_prev; адрес предыдущего элемента
    char *addr_next; адрес следующего элемента
    };

    тогда мы можем связывать эти элементы в том количестве в котором захотим используя new
    и delete для удаления
     
    #829 Delimiter, 8 Mar 2008
    Last edited: 8 Mar 2008
  10. Irdis

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

    Joined:
    6 Feb 2006
    Messages:
    248
    Likes Received:
    52
    Reputations:
    3
    к примеру, вот такая "штука":
    int* p;
    p=new int [n];
     
  11. Delimiter

    Delimiter Banned

    Joined:
    8 Apr 2005
    Messages:
    317
    Likes Received:
    173
    Reputations:
    12
    в этот ничего не добавишь.... только глупые варианты с созданием нового массива и копированием
     
  12. ForNeVeR

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

    Joined:
    1 May 2006
    Messages:
    67
    Likes Received:
    31
    Reputations:
    0
    В вашем случае лучше организовать настоящую динамическую структуру, как сказал Delimiter, а не пользоваться подобными массивами. Хотя поначалу, конечно, с ней несколько непривычно работать.

    Хотя: Проблема таких структур состоит в том, что мы не можем "по заказу" получить сразу n-й элемент, для этого придётся последовательно перебирать все, что может не подойти для комбинаторных задач.

    Я в таких случаях создаю массив такой размерности, которой заведомо хватит для всех необходимых действий, однако определение этой длины также может стать нетривиальной задачей в комбинаторике.
     
    #832 ForNeVeR, 8 Mar 2008
    Last edited: 8 Mar 2008
  13. Irdis

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

    Joined:
    6 Feb 2006
    Messages:
    248
    Likes Received:
    52
    Reputations:
    3
    >>>в этот ничего не добавишь.... только глупые варианты с созданием нового массива и копированием
    :-e, да... халява не прокатила :)
    Спасибо...
     
  14. ZipaCna

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

    Joined:
    29 Feb 2008
    Messages:
    60
    Likes Received:
    15
    Reputations:
    3
    Например если условие что не нужно юзать обязательно массивы... то можно использовать вектора (что само по себе является очень мощной вещью, но массивы работают по быстрее)

    vector<string> stroka // создали вектро типо строка
    ....
    stroka.push_back(сюда какуюнить строку) // записываем в конец вектора

    если хочеш посмотреть остальные функции кури тута и на гугле ;

    http://www.cppreference.com/cppvector/index.html
     
    1 person likes this.
  15. Smapt

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

    Joined:
    29 Jan 2008
    Messages:
    31
    Likes Received:
    32
    Reputations:
    3
    Code:
    #include <windows.h>
    #include <vcl.h>
    
    #pragma hdrstop
    
    #include "Unit1.h"
    
    #pragma package(smart_init)
    #pragma resource "*.dfm"
    TForm1 *Form1;
    
    __fastcall TForm1::TForm1(TComponent* Owner)
            : TForm(Owner)
    {
    }
    
    
    void __fastcall TForm1::FormCreate(TObject *Sender)
    {
    TProcessEntry32 pe;
    }
    
    При попытке запуска этого в Builder вылетает: [C++ Error] Unit1.cpp(22): E2451 Undefined symbol 'TProcessEntry32'
    В чём проблема?
     
  16. os1r1s

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

    Joined:
    2 Feb 2007
    Messages:
    18
    Likes Received:
    28
    Reputations:
    -4
    Smapt
    добавь
    #include <tlhelp32.hpp> или #include <tlhelp32.h>
     
    2 people like this.
  17. KSoniX

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

    Joined:
    17 Jan 2008
    Messages:
    94
    Likes Received:
    12
    Reputations:
    1
    как узнать метку активного раздела и еще нада узнать из какой раздела загружен винда?
     
  18. desTiny

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

    Joined:
    4 Feb 2007
    Messages:
    1,006
    Likes Received:
    444
    Reputations:
    94
    API: GetWindowsDirectory();
    Оттуда извлекаешь диск.
     
  19. St0nX

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

    Joined:
    19 May 2007
    Messages:
    257
    Likes Received:
    46
    Reputations:
    0
    Каким образом возможно организовать передачу данных между потоками? И есть ли уже готовая функция в С\С++ для чтения строки по словам? или же поридется свою писать...
     
  20. ZaCo

    ZaCo Banned

    Joined:
    20 Jun 2005
    Messages:
    737
    Likes Received:
    336
    Reputations:
    215
    советчики интересные пошли. говорят же:
    >>передача данных

    и какие объемы ты передашь через глобальную переменную? а ведь еще и синхронизировать нужно запись\чтение. именно для организации передачи данных с их повсеместным чтением для общих задач эффективнее всего использовать неименованные пайпы (libc - man pipe).

    >> поридется свою писать...
    вам не стыдно? медвежьи услуги обычно не в почете. strtok()...
     
    2 people like this.
Thread Status:
Not open for further replies.