еще можно взять C++/CLI написать DLL которая будет давать возможность юзать библиотеку .NET из чисто нативного языка ... а вообще странные выбор ... хочется что то из .NET но сам NET нельзя ... почему ? берите C++/CLI да колбасьте там можно и натив и менеджед смешивать ... сила ...
это из за дизайна языка ... так как тут по сти две операции снять элемент с вершины ... и скопировать результат .... если на втором шаге будет исключение то этот элемент мы навсегда потеряем ... поэтому есть операция .top которая сначала копирует элемент а затем вызывается .pop
non-block winsock Здравствуйте, собственно прошу помощи по функции recv() winsock2, функция зависает когда нету данных от сервера, насколько знаю нужны неблокирующие сокеты, информации толком то и не нашел, может кто знает хорошие источники по non-block, может кто поможет код модифицировать, сам попробую разобраться. Code: #include <clocale> #include <iostream> #include <stdio.h> #include <winsock2.h> using namespace std; int main(int argc, char *argv[]){ setlocale(LC_ALL,"Russian"); WSADATA ini; SOCKET sock; struct sockaddr_in addr; int PORT,sizeRecv = 0, sizeSend = 0; char SERVERADDR[64]; char input[1024]; char output[1024]; printf("SERVER ADDR: "); cin >> SERVERADDR; printf("SERVER PORT: "); cin >> PORT; if(WSAStartup(0x202,&ini) < 0){ printf("Ошибка инициализации\n"); } if((sock = socket(AF_INET,SOCK_STREAM,0)) < 0){ printf("Сокет не создан\n"); } addr.sin_family = AF_INET; addr.sin_port = htons(PORT); addr.sin_addr.s_addr = inet_addr(SERVERADDR); if((connect(sock,(sockaddr *)&addr,sizeof(addr))) < 0){ printf("Ошибка соединения\n"); }else{ printf("Соедние с %s установленно\n",SERVERADDR); while(1){ sizeRecv = recv(sock,input,sizeof(input),0); input[sizeRecv] = 0; if(sizeRecv > 0){ printf("\nMsg:> %s\n",input); } if(sizeRecv < 0){ printf("\n Ошибка приема данных от %s\n",SERVERADDR); } sizeRecv = 0; cout << "Client:> "; cin >> output; if(!strcmp(output,"exit")){ closesocket(sock); WSACleanup(); exit(1); } if(output!=""){ sizeSend = send(sock,output,sizeof(output),0); } if(sizeSend < 0){ printf("Не удалось отправить данные на %s\n",SERVERADDR); } } } return 0; }
Можно узнать: чем отличаются версии Microsoft Visual C++ 2008 Express Edition и Standart? Знаю, что вторая - платная, но она стоит того (есть возможность взять "на шарика")?
Никто с такой проблемой в Visual C++ 2010 не сталкивался ? Code: 1>Ошибка: Internal CPS Error: The Solution Build Manager was expected to have called BeginBuild by now. ========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ========== Абсолютно на ровном месте возникает И не впервой это уже,а помогает только переустановка
JohnnyBGoode, на 2010 версию многие жаловались с разных сторон и на разные глюки. Пробуй лучше 2008. Стабильнее работает.
Ребята, подскажиет как считать значение из текс файла на сервере в spinedit C++ ? Файл состоит из 1 цифры. IdHTTP1->Get("http://mysite.ru/thisfile.txt", SpinEdit1->Value); Выдает вот это. [bcc32 Error] updatebot.cpp(26): E2285 Could not find a match for 'TIdCustomHTTP::Get(const char *,long)'
Попробуй так: SpinEdit1->Value = IdHTTP1->Get("http://mysite.ru/thisfile.txt").ToInt(); Вариант метода IdCustomHTTP::Get в данном случае принимает URL и возвращает string с телом ответа. Если там только число, умещающееся в int, то конверсия пройдет успешно. Иначе будет exception.
#include <mmdeviceapi.h> - fatal error: mmdeviceapi.h: No such file or directory что не так? где взять этот mmdeviceapi.h?
https://subversion.assembla.com/svn/portaudio/portaudio/trunk/src/hostapi/wasapi/mingw-include/mmdeviceapi.h
Спасибо. я правда уже сам нашел) теперь другая проблема возникла - оно не компилится( вот такая конструкция - Code: #include <stdio.h> #include <windows.h> #include <mmdeviceapi.h> int main(){ return 0; } при компиляции выдает === Build finished: 5030 errors, 561 warnings (1 minutes, 53 seconds) === ошибки в *.h подключаемых из mmdeviceapi.h