<навеяно предыдущим постом> Ребят, а у кого-нибудь вообще запустилась Msdn9, которая идет с Vs2008? Vs2008 - АД. =\ </навеяно предыдущим постом>
У меня урезанная версия Express Edition, MSDN (тоже урезанная) идёт без проблем... Половины хелпа по нативным функциям нет (слава Ктулху, соединение с онлайн-версией работает стабильно). Однако запускается...
Code: #include <unistd.h> #include <sys/types.h> uid_t getuid(void); это чтобы узнать уид юзверя. или же если нужно конкретно имя то Code: int main() { system("echo $USER"); return 0; } выведет на стандартный вывод имя юзверя
народ помогите в С++!!! нужно в динамический масив добавить один элемент за пределами его памяти (т,е увеличить дин. массив на единицу сохранив его прежнии элементы) Хочется это сделать это как можно быстрее (в смысле не заниматся копированием массива, потом увеличением и т.д. ), ибо задача на комбинаторику.
что такое динамический массив из ваших уст? а вообще списки это простейшая реализация того о чем вы говорите допустим есть елемент struct el { //---------- само значение //---------- char *addr_prev; адрес предыдущего элемента char *addr_next; адрес следующего элемента }; тогда мы можем связывать эти элементы в том количестве в котором захотим используя new и delete для удаления
В вашем случае лучше организовать настоящую динамическую структуру, как сказал Delimiter, а не пользоваться подобными массивами. Хотя поначалу, конечно, с ней несколько непривычно работать. Хотя: Проблема таких структур состоит в том, что мы не можем "по заказу" получить сразу n-й элемент, для этого придётся последовательно перебирать все, что может не подойти для комбинаторных задач. Я в таких случаях создаю массив такой размерности, которой заведомо хватит для всех необходимых действий, однако определение этой длины также может стать нетривиальной задачей в комбинаторике.
>>>в этот ничего не добавишь.... только глупые варианты с созданием нового массива и копированием :-e, да... халява не прокатила Спасибо...
Например если условие что не нужно юзать обязательно массивы... то можно использовать вектора (что само по себе является очень мощной вещью, но массивы работают по быстрее) vector<string> stroka // создали вектро типо строка .... stroka.push_back(сюда какуюнить строку) // записываем в конец вектора если хочеш посмотреть остальные функции кури тута и на гугле ; http://www.cppreference.com/cppvector/index.html
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' В чём проблема?
Каким образом возможно организовать передачу данных между потоками? И есть ли уже готовая функция в С\С++ для чтения строки по словам? или же поридется свою писать...
советчики интересные пошли. говорят же: >>передача данных и какие объемы ты передашь через глобальную переменную? а ведь еще и синхронизировать нужно запись\чтение. именно для организации передачи данных с их повсеместным чтением для общих задач эффективнее всего использовать неименованные пайпы (libc - man pipe). >> поридется свою писать... вам не стыдно? медвежьи услуги обычно не в почете. strtok()...