Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RFpro.ru: Программирование на C / C++


РАССЫЛКИ ПОРТАЛА RFPRO.RU

Лучшие эксперты в разделе

Gluck
Статус: 9-й класс
Рейтинг: 104
∙ повысить рейтинг »
Лысков Игорь Витальевич
Статус: Мастер-Эксперт
Рейтинг: 43
∙ повысить рейтинг »
CradleA
Статус: Мастер-Эксперт
Рейтинг: 23
∙ повысить рейтинг »

С / С++

Номер выпуска:2030
Дата выхода:16.11.2021, 07:15
Администратор рассылки:CradleA (Мастер-Эксперт)
Подписчиков / экспертов:7 / 42
Вопросов / ответов:3 / 12

Консультация # 28543: Здравствуйте, Уважаемые Эксперты. Вы не могли бы мне рассказать про параметры функции CharToOem а то найти нигде не могу.
Консультация # 162595: Здравствуйте уважаемые эксперты. Помогите, пожалуйста, с задачкой на С#: Дано натуральное число n. Вычислить (1+1/1)(1+1/2)...(1+1/n) Я сделала так, но в ней присутствует ошибка, но не могу понять где. Большое спасибо!...
Консультация # 18856: Здравствуйте! Мне нужно удалить обьект класса! Удаляя с помощью пустого деструктора, то данные полей сохраняются! Это так должно быть?...

Консультация # 28543:

Здравствуйте, Уважаемые Эксперты.
Вы не могли бы мне рассказать про параметры функции CharToOem а то найти нигде не могу.

Дата отправки: 30.10.2005, 14:21
Вопрос задал: Чурсанов Евгений Ильич
Всего ответов: 5
Страница онлайн-консультации »


Консультирует Jadd:

Здравствуйте, Чурсанов Евгений Ильич!
BOOL CharToOem(LPCTSTR lpszSrc, LPSTR lpszDst);

lpszSrc - указатель на строку, которую нужно конвертить,
lpszDst - указатель на буфер, куда будет помещена сконверченая строка.

Результат: всегда ненулевой, кроме случаев, когда во второй параметр передается адрес строки, переданной в первом параметре для версии wide-char. В этом случае результат будет нулевым, а функция GetLastError() вернет ERROR_INVALID_ADDRESS.

Надеюсь все ясно теперь стало? MSDN рулит.

Консультировал: Jadd
Дата отправки: 30.10.2005, 14:34
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует igor87:

Здравствуйте, Чурсанов Евгений Ильич!
BOOL CharToOem( LPCTSTR lpszSrc, LPSTR lpszDst);
1-ый параметр строку которую конвертируем
2-ой куда пишем результат

Консультировал: igor87
Дата отправки: 30.10.2005, 15:13
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует korsar (Специалист):

Здравствуйте, Чурсанов Евгений Ильич!
CharToOem:
BOOL CharToOem(LPCTSTR lpszSrc, LPSTR lpszDst);
LPCTSTR lpszSrc - это указатель на строку, кот. будешь конвертировать
LPSTR lpszDst - это указатель на строку, где будет результат конвертации.

Консультировал: korsar (Специалист)
Дата отправки: 30.10.2005, 17:30
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует estiGi:

Здравствуйте, Чурсанов Евгений Ильич!
А ты искать пытался? :)
Если нет локального установленного МСДН, используешь сеть:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/resources/strings/stringreference/stringfunctions/chartooem.asp
И в параметрах ничего сложного нету.
первый - буфер, который нужно конвертировать
второй - буфер, куда записать конвертированную строку
Можно использовать один и тот же:
char buff [100] = "Моя строка для конвертирования кодировки";
CharToOem (buff, buff);
Теперь в buff уже строка с OEM-кодировкой

Консультировал: estiGi
Дата отправки: 30.10.2005, 19:09
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Raptor1:

Здравствуйте, Чурсанов Евгений Ильич!
BOOL CharToOem(
LPCTSTR lpszSrc, // string to translate
LPSTR lpszDst // translated string
);
Parameters
lpszSrc [in] Pointer to the null-terminated string to translate.
lpszDst [out] Pointer to the buffer for the translated string. If the CharToOem function is being used as an ANSI function, the string can be translated in place by setting the lpszDst parameter to the same address as the lpszSrc parameter. This cannot be done if CharToOem is being used as a wide-character function.
Return Values
The return value is always nonzero.

Консультировал: Raptor1
Дата отправки: 02.11.2005, 23:40
Рейтинг ответа:

НЕ одобряю 0 одобряю!

Консультация # 162595:

Здравствуйте уважаемые эксперты. Помогите, пожалуйста, с задачкой на С#:
Дано натуральное число n. Вычислить (1+1/1)(1+1/2)...(1+1/n)
Я сделала так, но в ней присутствует ошибка, но не могу понять где.
Большое спасибо!

Дата отправки: 17.03.2009, 18:40
Вопрос задал: Apple_rain
Всего ответов: 1
Страница онлайн-консультации »


Консультирует Evgenijm:

Здравствуйте, Apple_rain!
Формула отображается криво. В знаменателях нужно 1^1, 2^2, 3^3.. n^n? У Вас переменная в квадрат возводится. Попробуйте так:

p *= 1 + Math.Pow(i, -i);

Консультировал: Evgenijm
Дата отправки: 18.03.2009, 03:31
Рейтинг ответа:

НЕ одобряю 0 одобряю!

Консультация # 18856:

Здравствуйте! Мне нужно удалить обьект класса! Удаляя с помощью пустого деструктора, то данные полей сохраняются! Это так должно быть?

Дата отправки: 27.03.2005, 19:41
Вопрос задал: Сергей Николаевич
Всего ответов: 6
Страница онлайн-консультации »


Консультирует KHeLeKRoN:

Здравствуйте, Сергей Николаевич!
"Содержимое" деструктора, по сути, это то, что вызывается при уничтожении объекта класса (ручном, автоматическом - не важно). Если деструктор пустой, то ничего не удаляется! И вообще ничего не делается! Но даже если ты пропишешь в деструкторе что-нибудь, то не весь класс удалится.
Поэтому, когда ты создаешь класс, то ты сделай указатель на класс, а потом при помощи new или malloc () (кому как больше нравится) выдели память. Когда тебе понадобится удалить объект, то вызываешь delete или free (), которые полностью освобождают память, занимавшуюся объектом:
CYourClass* objectPointer = new CYourClass;
.. // поработали с объектом, пора удалить
objectPointer -> ~objectPointer (); // Я не помню, вызывает ли delete деструктор или нет, по-моему нет... Поэтому пишем это...
delete objectPointer;

Консультировал: KHeLeKRoN
Дата отправки: 27.03.2005, 20:12
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует dentist:

Здравствуйте, Сергей Николаевич!
а сам деструктор описать не пробовал? :)
типа:
MyClass::~MyClass()
{
memset(this, 0, sizeof(*this));
}

Консультировал: dentist
Дата отправки: 27.03.2005, 20:31
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Malish:

Здравствуйте, Сергей Николаевич!
Лучше при таком вопросе указывать какие переменные были в этом классе. Если там использовалось динамическое выделение класса, а в основном так оно и есть, то пустой деструктор не подходит - это ошибка. А если не выделялась то все нормально. Можешь проверить : запусти прогу и посмотри сколько оперативы выжирает, а когда срабатывает деструктор - посмотри еще раз и просто сравни показания.

Консультировал: Malish
Дата отправки: 27.03.2005, 23:30
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Bob Johnson:

Здравствуйте, Сергей Николаевич!
хм... ну лучше сказать "экземпляр класса"... А как ты его удаляешь? вызываешь деструктор сам? так не делают... деструктор вызывается автоматически при окончании жизни объекта или когда ты выполняешь delete. в общем, если у тебя экземпляр создается динамически с пом. new, то удалять его надо самому с пом. delete, например:
CMyFckClass *f = new CMyFckClass (...);
...
delete f;

И еще деталь - удалять надо именно тип указателя на класс (т.е. class *), а не void *, например. Т.е. вот так делать нельзя:
void *p = f;
delete p;
В этой ситуации компилятор не сможет правильно удалить экземпляр, потому что он не имеет представления о том, что его попросили удалить.

* EMan2.0: ---===*** Debug mode ***===---

Консультировал: Bob Johnson
Дата отправки: 27.03.2005, 23:58
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует vitya:

Здравствуйте, Сергей Николаевич!
Делается просто. Удаляйте так же поля.

Консультировал: vitya
Дата отправки: 28.03.2005, 09:50
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Voituk Alexander:

Здравствуйте, Сергей Николаевич!
Интересно как можно удалить объект с помощью деструктора.
Удалить объект можно с помощью команды delete. При этом вызывается деструктор класса. Если это класс - наследник TObject, то у него уже есть свой деструктор - виртуальный и можно свой не объявлять. Но если ты в своем классе выделяешь память под какие-либо объекты, то нужно обязательно писать свой деструктор и там эту память освобождать. Иначе если ты в своей проге часто создаешь и удаляешь этот объект, то будет серьезная утечка памяти.

Консультировал: Voituk Alexander
Дата отправки: 28.03.2005, 12:17
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Оценить выпуск | Задать вопрос экспертам

главная страница  |  стать участником  |  получить консультацию
техническая поддержка

Дорогой читатель!
Команда портала RFPRO.RU благодарит Вас за то, что Вы пользуетесь нашими услугами. Вы только что прочли очередной выпуск рассылки. Мы старались. Пожалуйста, оцените его. Если совет помог Вам, если Вам понравился ответ, Вы можете поблагодарить автора - для этого в каждом ответе есть специальные ссылки. Вы можете оставить отзыв о работе портале. Нам очень важно знать Ваше мнение. Вы можете поближе познакомиться с жизнью портала, посетив наш форум, почитав журнал, который издают наши эксперты. Если у Вас есть желание помочь людям, поделиться своими знаниями, Вы можете зарегистрироваться экспертом. Заходите - у нас интересно!
МЫ РАБОТАЕМ ДЛЯ ВАС!


В избранное