Форум программистов, компьютерный форум CyberForum.ru

Как создать va_list для _vsntprintf ? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Обработка исключений http://www.cyberforum.ru/cpp-beginners/thread22975.html
Как сделать обработку исключения так, чтобы, если, например, вводим количество координат больше, чем можно, программа предлагала, или выйти, или попробовать ввести ещё раз. Я пробовал с помощью switch, но там если ввести первый раз неправильно, то он запускается, если ещё раз неправильно, то уже обработка исключения не идёт, то есть, нужно под каждый неправильный ввод писать новый ввод объекта и...
C++ Builder Подскажите рабочий пример по использованию TThread Если Вам не трудно, дайте ссылку или скиньте тут рабочий пример любого воздействия на форму из дочернего потока. На сколько понимаю используется класс TThread? http://www.cyberforum.ru/cpp-beginners/thread22967.html
C++ надо программу, в которой задача состоит в том, чтобы найти точку на двумерной сетке
Точка, безусловно, определяется координатами. Сетка должна иметь определенный размер, например, от 100 до 100 меш. Программа должна в начале своей деятельности выбирать точку на сетке(случайно), и задача пользователя будет,выбирать точку на сетке координат. В ответ, программа должна найти расстояние между точками и вывести на екран. Ето будет проиcходить до тех пор пока пользователь не угадает...
C++ Сортировка массива структур
Имеется массив структур, который необходимо отсортировать по числовому ключу. Я написал код, но он не работает, поэтому просьба указать на ошибку. #include <stdio.h> #include <stdlib.h> int i; typedef struct {
C++ По матрице и заданному числу построить вектор http://www.cyberforum.ru/cpp-beginners/thread22942.html
По матрице размерностью m*n и заданному числу построить вектор, элемент которого равен 1, если наибольший элемент соответствующей строки матрицы не меньше заданного числа, и 0 - в остальных случаях. Определить моду для элемента вектора. Считать m<=10, n<=20. Вот тут тоже спрашивали http://www.cyberforum.ru/cpp/thread18317.html , но так и не помогли)
C++ В квадратной матрице найти максимальный элемент для каждой строки 4. В квадратной матрице с числом строк не более 15 найти максимальный элемент для каждой строки, подсчитать сумму найденных элементов и выбрать минимальный из них. Формат числа ±цц. подробнее

Показать сообщение отдельно
XuTPbIu_MuHTAu
Эксперт C++
 Аватар для XuTPbIu_MuHTAu
2220 / 735 / 10
Регистрация: 27.05.2008
Сообщений: 1,507
11.02.2009, 16:54     Как создать va_list для _vsntprintf ?
Цитата Сообщение от alex63 Посмотреть сообщение
Как создать тип va_list ?
Какова структура списка va_list ?
Во всех примерах показано как обработать функцию с переменным кол-вом аргументов.
Но как создать самому тип va_list?
Подскажите кто знает?
Заранее благодарен.
Это не типы и не структуры,а всего лишь макросы. Их можно загуглить, чтобы увидеть,как именно они реализованы. Про автолисп я ничего не знаю,поэтому не уверен,что там такое возможно. На си это реализуется очень просто. Например, для cdecl функций параметры передаются справа налево. Допустим,в принтф передают три параметра. Стек будет выглядеть так:
...
АВ
АРГ1
АРГ2
АРГ3

Принтф определяет по первому параметру,сколько их еще в стеке. Адрес второго параметра вычисляется как адрес первого + sizeof(arg1). Этот самый sizeof определяется типом параметра,который, в свою очередь, определяется исходя из управляющих символов. Адрес третьего аргумента вычисляется точно также. Фактически, va_list всего лишь скрывает работу с адресами: все,что нужно знать - это что происходит со стеком при вызове функций.
 
Текущее время: 19:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru