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

Инвестиции: Вопрос-Ответ

  Все выпуски  

C/C++ Вопрос-Ответ Выпуск № 12


Информационный Канал Subscribe.Ru

C/C++ Вопрос-Ответ

Выпуск № 12
Cайт : SoftMaker.com.ru
Архив рассылки : SoftMaker.com.ru
Количество подписчиков : 1138
В этом выпуске
От ведущего

Здравствуйте уважаемые подписчики !
Напоминаю, что, как всегда, Вы можете отправить свои пожелания (замечания, предложения, сообщения об ошибках) по поводу рассылки и сайта по этому адресу.
Если вы хотите создать и вести какой либо раздел в этой рассылке - также пишите мне.

С уважением, Вахтуров Виктор.

Подписчикам

Чтобы заранее разрешить возможные недоразумения, прошу Вас помнить, что вопросы публикуются в рассылке только один раз. Поэтому, если Вам не ответили в этом выпуске, или ваш вопрос не был опубликован, пришлите его еще раз. Не стоит отвечать на вопрос, который был задан в предыдущем выпуске (за исключением случая, когда он снова опубликован в этом).

Для того, чтобы задать свой вопрос, пришлите письмо, кликнув по этой ссылке.
Для того, чтобы ответить на вопрос, надо кликнуть по ссылке "ответить", расположенной под текстом вопроса.

Небольшое примечание. Господа, если Вы хотите, чтобы Ваш e-mail был опубликован в рассылке, специально и явно укажите это в письме. Иначе e-mail адреса, указанные в теле Вашего письма в рассылке опубликованы не будут.

Вопросы

Для того, чтобы задать свой вопрос, кликните этой ссылке (вопрос будет опубликован в следующем номере).
Вы можете задавать любые вопросы, касающиеся программирования на языке C и C++. Это могут быть вопросы, касающиеся как конструкций языка, применения библиотек классов, шаблонов (таких как MFC или STL), использования компиляторов, так и самой философии программирования на C или C++. Здесь нет ограничений - спрашивайте и получайте ответы.

Вопрос № 52 ( Артём )

Моё почтение.

Как заставить Visual C++ 6.0 работать с библиотекой graphics.h?
Причём нужна именно эта библиотека!

Ответить на вопрос

Вопрос № 53 ( Tolik MordoBoevich )

Пришлите мне исходник какой-нибудь графической DOS-игры вроде "Пакмана" или
киньте ссылку на сайт, где можно их найти.

Ответить на вопрос

Вопрос № 54 ( Григорий Рубинштейн )

Я пробовал использовать Visual C++.NET, но у меня возникло впечатление, что он не понимает некоторые стандартные вещи, и я хочу установить версию Borland'a. Где можно скачать Borland C++ builder?

Заранее спасибо.

Ответить на вопрос

Вопрос № 55 ( Tolik MordoBoevich )

Здрасте! Подскажите, пожалуйста, есть ли в Win32 API функция для получения
скорости соединения с Интернетом через DialUp и для получения количества
полученного/отправленного траффика?

Ответить на вопрос

Ответы

Ниже приведены вопросы предыдущего выпуска и ответы на них.

Вопрос № 45 ( Randoll )

Здравствуйте !
Почему у меня в C++Builder 6.0 не работает следующий код:

        struct { int a; int b; } the;
        the = { 7, 8 };

В последней строке в месте начала фигурной
скобки выдает ошибку E2188 Expression syntax. Почему не работает ?
Хотя в Visual C++ 6.0 такое работает.

Ответ ( администратор )

(силентий) В С/С++ нет присваивания значений классам/структурам/массивам. Следует либо использовать присваивание полям структуры (the.a = 7;), либо использовать определение с инициализатором (struct { int a; int b; } the = { 7, 8 }; ). Только так. RTFM.

Ответ ( Maria Shpileva )

struct { int a; int b; }
the= { 7, 8 };

вот так правильно

а если поменять значения надо потом:

the.a=4 ;
the.b=10;

Ответ ( Andrew N. Kuznetsov )

А почему бы не написать так:

struct {int a, b} the;
the.a=7;
the.b=8;
Вопрос № 46 ( ZAT ULPK )

Какой язык программирования лучше всего изучать Visual C++, C++ Builder 6, Visual Studio.NET
чтоб на этом языке можно было делать все от системного, баз данных до OpenGL
и так далее, или лучше какой другой например Java, Visual Basic, Delphi.

Ответ ( администратор )

(силентий) Вопрос некорректен. VC, BCB, VS.Net - не языки программирования. Это среды. То есть, лишь оболочки, предназначенные для некоторого облегчения работы. Лично у меня любимая среда программирования на C++ - связка Linux/Vim/GCC 3. И для изучения именно C++, эта связка, имхо, очень неплоха. Далее, по упомянутым средам. VC++ - часть Visual Studio. Не единственная. Есть еще и C#(.Net), и Visual Basic. Вот с VB, опять же имхо, и стоит начинать. Если вдруг станет тесно, можно пробовать и другие среды/языки. Сравнивая Builder(он же Delphi, только не на паскале) с Visual C++, могу сказать, что простые вещи на Builder/Delphi реализуются проще, чем в VC. Вещи нетривиальные и требующие понимания работы Windows легче писать в VC. Builder слишком многое прячет за своими окошками/кнопочками.
А вообще, грамотный выбор языка для решения конкретной задачи - дело почти чтоль же трудное и ответственное, как и собственно проектирование и написание кода. Java, Perl, Lisp, C/C++, Prolog, Ada и пара десятков других живы не потому, что кому-то нравятся, а потому, что они все очень разные. Есть правда, еще и сотни никому не нужных языков... Ну не заставят меня обрабатывать текст на C, если можно использовать Perl. И я не буду работать с сетью на форте, когда есть Tcl. Нет лучших языков. Есть удобные в данный момент.
Вопрос № 47 ( Warlock )

Дамы и господа! :) Недавно столкнулся с такой проблемой: иногда при сборке программы (MS VC++
6.0 Enterprise и Standart Edition'ы) на этапе
компиляции или линкования происходит следующий глюк: компилер
завершает компиляцию (или линкер - линкование), но не "сообщает" об этом
оболочке. Т.е. VC++ думает, что сборка не завершилась и "висит".
Нажатие на "stop build" ни к чему не приводит. :(
Подскажите, пожалуйста, как с этим бороться.
Заранее благодарен.

Ответ ( Сергей Шацкий )

У меня была такая проблема при Win2000. Проблема ршеилась установкой
сервис-паков.
Вопрос № 48 ( Евгений Жарков )

Здравствуйте, пишет вам Жарков Евгений, мой вопрос: С чего надо начать мне программировать в Borland C++, я хочу понять как писать программы без помошников, которые делают все за тебя, на чистом листе, хотябы объясните на примеры простой проги, Hello World? Какие коды нужно писать и для чего они предназначены?
Если вы не хотите объяснять, то посоветуйте мне где взять толковую учитилку по программированию, для новичков, У меня есть ли-ра по программированию, вот только там я плохо понимаю!

Ответ ( Григорий Рубинштейн )

Попробуй начать читать что-нибудь типа C++ Programming 101 - там все очень доступно написано и предназначено для новичков. Чтобы самому написать программу, выводящую "Hello World", надо сделать следующее:

#include <iostream.h> // необходимая библиотека для
                      // вывода на экран с помощью оператора cout
void main()
{
  cout << "Hello World!";
  return; // в данном случае не обязателен, но
          // может оказаться полезным при дальнейшем
          // добавлении кода в программу
}

Ответ ( 3V )

Гм... Начать программировать, думаю, стоит с него... с главного !
То есть взять среду разработки, компилятор - и начать.
Насчет плохого понимания литературы... тут уж совсем помочь нечем :(
Ну, если только посоветовать подучиться читать (на русском, или английском - не важно).

А вообще, советую все-таки прочитать про основы программирования в Windows вообще (Вы ведь именно под Windows программировать хотите научиться ?). В данной тематике (для начинающих и под винду) однозначно лидирует Петзольд. Там рассмотрены самые основы. С самого начала. Вот это, думаю, и надо почитать.
В сети в русском варианте она есть (на том же http://anatolix.naumen.ru, вроде, лежала для свободного скачивания).
Вопрос № 49 ( joe329 )

Такой вопрос.

Существует файл, размер которого я хочу уменьшить. Т.е. я хочу
установить такой размер файла, который меньше текущего. Как увеличить
размер - это понятно, можно просто дописать в конец что-то новое. А
вот сделать файл короче...

Просмотрел множество файлов *.h, но так и не нашел ничего похожего. Не
подскажите, как это сделать? Желательно, чтобы это работатало под
любым компилятором (есть стандарт POSIX, но не помню - об этом ли он?)

Ответ ( Михаил )

Для этого существует функция (из io.h) :

int chsize(int handle, long size);

Ответ ( Valentin O. Nikolaev )

Если для Windows, то:
MSDN Library July 2000, Platform SDK, Files and I/O
SetEndOfFile
The SetEndOfFile function moves the end-of-file (EOF) position for the
specified file to the current position of the file pointer.

BOOL SetEndOfFile(
  HANDLE hFile   // handle to file
);

Parameters
hFile
[in] Handle to the file to have its EOF position moved. The file handle
must have been created with GENERIC_WRITE access to the file.
Return Values
If the function succeeds, the return value is nonzero.

If the function fails, the return value is zero. To get extended error
information, call GetLastError.

Remarks
This function can be used to truncate or extend a file. If the file is
extended, the contents of the file between the old EOF position and the new
position are not defined.

If you called CreateFileMapping to create a file-mapping object for hFile,
you must first call UnmapViewOfFile to unmap all views and call CloseHandle
to close the file-mapping object before you can call SetEndOfFile.

MAPI: For more information, see Syntax and Limitations for Win32 Functions
Useful in MAPI Development.
Вопрос № 50 ( xyligan )

Подскажите, пожалуйста, как обрабатывать сообщения от TreeCtrl в
классе, производном от CTreeView. Я, вроде бы, делаю всё как с
другими элементами, но, похоже, CTreeView не получает ни одного
сообщения WM_NOTIFY.

Ответ ( 3V )

Получает, только не WM_NOTIFY, а WM_NOTIFY + WM_REFLECT_BASE - отраженные сообщения.
Вся фишка в том, что сообщения WM_NOTIFY, если родительское окно их не обработало, "возвращаются" движком MFC в контрол. Правда, уже не как WM_NOTIFY, а ID сообщения другой (WM_NOTIFY + WM_REFLECT_BASE), а параметры - те же.
Т.о. если хочется обрабатывать в классе контрола (или View) сообщения WM_NOTIFY, которые шлет сам контрол родительскому окну, то надо пользоваться макросом ON_NOTIFY_REFLECT, а не ON_NOTIFY. То же касается и WM_COMMAND (надо пользоваться ON_CONTROL_REFLECT).
Однако, всегда стоит помнить, что родительское окно может поглотить сообщение и не отразить его.
Вопрос № 51 ( Aziz )

Здраствуйте.
пожалуйста помогите.месяц назад я написал прогу.деньги уже успел потратить...
DB, прога открывает XML файл, редактирует его, но теперь прога перестает сохранять изменения, прога сохраняется при каждом изменении.
заранее спасибо.

//-----------------------------------------
//---------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
#include "Unit2.h"

Вследствие большого объема вопрос не публикуется полностью.
Полный текст вопроса можно найти в предыдущем выпуске.


Ответов нет
Книги по C/C++
Начальный курс С и С++
Начальный курс С и С++

Автор: Б. И. Березин, С. Б. Березин

Книга является учебным пособием по языкам программирования С и С++.
Книга может быть использована для изучения языка С, как самостоятельного языка.
Язык С++ рассматривается как надстройка к языку С.

Изложение проиллюстрировано большим количеством примеров.

Книга написана на основе учебного курса С++ для начинающих, который в течении нескольких лет читался в учебном центре Диалог - МИФИ и ориентирована на начинающих программистов, а также тех, кто хочет самостоятельно изучить языки программирования С и С++.

Она также может быть полезна для читателей, знающих язык С и начинающих изучать С++.

Страница книги на Озоне
C++. Начала программирования
C++. Начала программирования

Автор: Э. А. Ишкова

Учебник предлагает курс программирования, разделенный на несколько частей: начальный курс и дополняющие.

Начальный курс представляет собой выборку из языка C++, по объему и содержанию достаточную для изучения процедурного программирования. Остальные части учебника последовательно дополняют первую, включая специфические разделы С и C++, что в общем соответствует курсу объектно-ориентированного программирования, а также некоторые другие, избранные разделы.

Специальный раздел посвящен решению задач программными методами.

Правила и приемы C++ иллюстрируются примерами, часть которых имеет прикладной характер.
Показаны простейшие приемы использования графики, поддерживаемые компилятором BORLANDC.
Приведен вариант организации рабочего пространства в компьютере и создания собственной библиотеки.

Книга предназначена для студентов технических вузов, а также для желающих самостоятельно начать изучение программирования непосредственно с языка C++.

Страница книги на Озоне
Всего доброго. До встречи в следующем номере.

http://subscribe.ru/
http://subscribe.ru/feedback/
Подписан адрес:
Код этой рассылки: comp.soft.prog.cppqa
Отписаться

В избранное