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

Как вывести номер строки вызова функции - C++

Восстановить пароль Регистрация
 
Helldrg
54 / 54 / 1
Регистрация: 10.01.2011
Сообщений: 1,078
28.06.2016, 13:55     Как вывести номер строки вызова функции #1
Здравствуйте! Подскажите, пожалуйста, как командой OutputDebugStringA((LPCSTR)__LINE__) вывести номер строки откуда вызывается функция
C++
1
2
3
4
5
void foo()
{
    OutputDebugStringA((LPCSTR)__LINE__);
    return;
}
Вот так, почему то выдает ошибку.
И интересно, а есть ли еще константы на подобии какая версия с++ используется или в каком компиляторе скомпилирована была программа и т.д.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.06.2016, 13:55     Как вывести номер строки вызова функции
Посмотрите здесь:

C++ Массив 5х5. (Вывести на экран номер строки и столбца и адреса...)
Как запретить выполнение функции до её вызова в main? C++
C++ Массив 5х5. (Вывести на экран номер строки и столбца и адреса.) C++
Вывести номер строки в массиве, сумма чисел которой максимальная C++
Как вернуть значение нескольких переменных в точку вызова функции C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DUMP
54 / 28 / 7
Регистрация: 22.02.2015
Сообщений: 240
28.06.2016, 19:40     Как вывести номер строки вызова функции #2
Helldrg, OutputDebugStringA - эта функция находится в #include <Windows.h>. Она не выводит текст в консоль , но выводит в окошко Output в дебагере ( в VS внизу , когда программа запущена )
Helldrg
54 / 54 / 1
Регистрация: 10.01.2011
Сообщений: 1,078
28.06.2016, 21:50  [ТС]     Как вывести номер строки вызова функции #3
DUMP
Так мне и не надо в консоль, а надо в окно Output =)
я нашел пример как это сделать через printf, но мне интересно почему таким способом не работает
avgoor
562 / 352 / 83
Регистрация: 05.12.2015
Сообщений: 1,137
28.06.2016, 22:15     Как вывести номер строки вызова функции #4
Helldrg, Потому, что __LINE__ разворачивается в десятичный целый литерал, а не в строковый литерал.
Helldrg
54 / 54 / 1
Регистрация: 10.01.2011
Сообщений: 1,078
29.06.2016, 00:20  [ТС]     Как вывести номер строки вызова функции #5
avgoor
А почему он тогда с помощи (LPCSTR) не преобразуется?
HighPredator
 Аватар для HighPredator
5345 / 1728 / 320
Регистрация: 10.12.2010
Сообщений: 5,112
Записей в блоге: 3
29.06.2016, 12:10     Как вывести номер строки вызова функции #6
Цитата Сообщение от Helldrg Посмотреть сообщение
А почему он тогда с помощи (LPCSTR) не преобразуется?
А в честь чего он должен?
_liv_
83 / 83 / 28
Регистрация: 07.10.2015
Сообщений: 239
29.06.2016, 12:25     Как вывести номер строки вызова функции #7
Helldrg, (LPCSTR) - это не преобразование числа в строку, а просто указание считать число адресом строки
Но после этого число не становится строкой
C
1
2
    char str[16];
    OutputDebugStringA(itoa(__LINE__, str, 10));
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.06.2016, 14:41     Как вывести номер строки вызова функции
Еще ссылки по теме:

C++ Дана матрица размера MxN. Найти номер ее строки с наибольшей суммой элементов и вывести данный номер, а также
C++ Как можно было бы избавиться от вызова cin.Get() в каждой функции, работающей с потоком
C++ Вывести порядковый номер в начале каждой строки

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Helldrg
54 / 54 / 1
Регистрация: 10.01.2011
Сообщений: 1,078
30.06.2016, 14:41  [ТС]     Как вывести номер строки вызова функции #8
_liv_
Спасибо большое!!!
Yandex
Объявления
30.06.2016, 14:41     Как вывести номер строки вызова функции
Ответ Создать тему
Опции темы

Текущее время: 16:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru