Code: void COpenDialog::OnOpen() { CString fname; //Переменная для хранения имени файла CFile file; //обьект класса CFile //char ch[1024]; //Буффер для чтения данных из файла char ch; //Буффер для чтения данных из файла CString ch1; if(!OpenRead) //Если OpenRead=false то показываем диалог открытия файлов { CFileDialog fDialog(TRUE); fDialog.DoModal(); m_EditOpen.SetWindowText(fDialog.GetPathName()); m_bOpen.SetWindowText("Read"); OpenRead = true; } else { m_EditOpen.GetWindowText(fname); //Получаем имя файла if(!file.Open(fname, CFile::modeRead, NULL)) //Открываем его { AfxMessageBox("Cannot open file"); return; } [COLOR=DarkOrange] int dlina; dlina=::GetFileSize(file,0); file.Read(&ch1, dlina); //Читаем 1024 байт m_EditText.SetWindowText(ch1); file.Close(); //Закрываем файл[/COLOR] m_bOpen.SetWindowText("Open");//Меняем текст кнопки OpenRead = false; } } вот вроде так только при открытии еррор. хз.... не могу понять в чем трабла... --------------------EDIT--------------------- вот если кому нить понадобится, рабочий код. Большое спасибо 2 groupby за помощь. Code: void COpenDialog::OnOpen() { CString fname; //Переменная для хранения имени файла CFile file; //обьект класса CFile if(!OpenRead) //Если OpenRead=false то показываем диалог открытия файлов { CFileDialog fDialog(TRUE); fDialog.DoModal(); m_EditOpen.SetWindowText(fDialog.GetPathName()); m_bOpen.SetWindowText("Read"); OpenRead = true; } else { m_EditOpen.GetWindowText(fname); //Получаем имя файла if(!file.Open(fname, CFile::modeRead, NULL)) //Открываем его { AfxMessageBox("Cannot open file"); return; } int len = file.GetLength(); char* ch = new char[len]; file.Read(ch, len); //Читаем len байт m_EditText.SetWindowText(ch); file.Close(); //Закрываем файл m_bOpen.SetWindowText("Open");//Меняем текст кнопки penRead = false; } } --------------------EDIT---------------------
Code: sprintf(buffer1,"%lu",i); // заносим i в buffer1 sprintf(buffer2,"%lu",i*i); // заносим i*i в buffer2 if(strpos = strstr(buffer2, buffer1)) // узнаем место вхождения buffer1 в buffer2, присваевам strpos. Если он не 0, то идем дальше if((strpos-buffer2) == strlen(buffer2) - strlen(buffer1)) // проверям равенство и если не 0, то идем дальше вот
кто может помочь с программой постучите в асю, дело срочное!! для знающего делов на минуту-две, а мне разбираться некогда... о цене там же договоримся... срочно! (icq:295820085)
Ввести массив строк.Для каждой строки проверить,является ли она симметричной или нет.Вывести на экран саму строку и результата её обработки. +++ прилогается
В нете есть куча примеров: Забей в гугле "с++ палиндром" готовых исходников кучарезультатов там куча.
Срочно нужно доработать программу на C++ под прихоти преподователя. Среда разработки C++ Builder 6. Тема: "Разработка программного приложения, выполняющего исследование функции одной переменной на некотором интервале: поиск экстремумов, нулей и точек перегиба функции." Программа работает, щитает и строит, ТУТ архив с моими исходниками и заданием. Преподу нужно: 1) подключить функции (без указателей компонентов) 2) реализовать class по заданию. Срочно нужно помочь. Жду в аське(295820085) с предложениями. о цене договоримся..
2criz ты его не решишь. Эта ошибка не соответствует действительности. А действительность состоит в том, что ToolHelp API не может работать с System )) вот немного инфы http://groups.google.com/group/microsoft.public.win32.programmer.kernel/browse_thread/thread/6dfb6bc27d9bf842
Здравствуйте, такой вопрос: Есть строка: string a = "((123+32)*12)"; Как достать из нее числа слева и справа от плюса? Тупо перебирать символы влево и вправо?
2_nic у мсдн есть замечательный поиск ^____^ тут пример для файла, но переделать для строки проблем нет ))) http://msdn.microsoft.com/en-us/library/aa382380(VS.85).aspx ЗЫ лучше всетаки прочитать про крипто апи предварительно ^___^
Есть вектор мэпов: PHP: vector [ map1 [ name => a adress => b ] map2 [ name => f adress => g ] ... ] Надо было отсоритровать все имена, и вывести по алфавитному списку. Проблема была не перепутать адрес с именем местами при сортировке. Накидал такой кодес: PHP: void MainClass::sortSquares() { vector<string> names,adresses; for(signed int i = 0; i < (signed int)this->squares.size(); i++) { names.push_back(this->squares[i]["name"]); } sort(names.begin(),names.end()); for(signed int i = 0; i < (signed int)this->squares.size(); i++) { for(signed int j = 0; j < (signed int)this->squares.size(); j++) { if(names[i] == this->squares[j]["name"]) { adresses.push_back(this->squares[j]["adress"]); break; } } } for(signed int i = 0; i < (signed int)this->squares.size(); i++) { this->squares[i]["name"] = names[i]; this->squares[i]["adress"] = adresses[i]; } } Реально ли его оптимизировать)? И второй вопрос: как сравнить string с int'ом? - нужно позарез!!!
Code: for(signed int i = 0; i < (signed int)this->squares.size(); i++) { for(signed int j = 0; j < (signed int)this->squares.size(); j++) { if(names[i] == this->squares[j]["name"]) { adresses.push_back(this->squares[j]["adress"]); break; } } } Вот тут , дабы не появлялся квадрат,/* тут не читать юзай мапу.. то есть храни индексы от строки в мапе... конец не читать */ а лучше добавь массив индексов, сразу при сортировке при перемещении записи имени, перемещай и его индекс. Потом очевидным образом восстанавливаем массив за линию
Я мапу и юзаю) поэтому такая жесть получается) Сделал так: PHP: int stringToI(string str) { return atoi(str.c_str()); }
И второй вопрос: как сравнить string с int'ом? - нужно позарез!!![/QUOTE] string a; int b; sscanf(a.c_str(), "%d", &b); дальше сравниваешь с числом можно ещё с помощью istringstream