Тема: Вивід повідомлень у консоль Visual Studio
Підкажіть будь-ласка як можна вивести повідомлення типу awrning, errorу у консоль студії?
Ви не увійшли. Будь ласка, увійдіть або зареєструйтесь.
Ласкаво просимо вас на україномовний форум з програмування, веб-дизайну, SEO та всього пов'язаного з інтернетом та комп'ютерами.
Будемо вдячні, якщо ви поділитись посиланням на Replace.org.ua на інших ресурсах.
Для того щоб створювати теми та надсилати повідомлення вам потрібно Зареєструватись.
Український форум програмістів → C++ → Вивід повідомлень у консоль Visual Studio
Для відправлення відповіді ви повинні увійти або зареєструватися
Підкажіть будь-ласка як можна вивести повідомлення типу awrning, errorу у консоль студії?
Що означає «як»? Зазвичай, виведення в консоль Hello, world! — це перше, що показують у будь-якій книжці для початківців. В чому проблема написати: “Error: Hello, world”?
Я майбуть не зовсім коректно сформолював питання....
Малося на увазі не консоль программи, а Output самої студії.
Про який саме “Output” студії йде мова? Це ви про те, коли студія виводить помилки компілятора чи лінкера? Якщо так, то одразу повстає питання нащо? Що ви туди хочете виводити?
Саме так в оутпут в який студія виводить попередження і помилки.
Написав List для С++ на основі дунаправленного списку.
Хотілося б в деяких моментах виводити попередження в(дебаг режимі) в консоль студії.
Можливо припиняти виконання + вивід конкретної помилки.
Не певен чи у такому контексті у студії такий вивід взагалі можливий..
В будь-якому випадку, це надзвичайно погана ідея, тому що:
1. Output студії виводить лише помилки компілятора та лінкера, вашим "попередженням" там робити нічого;
2. Те, що ви хочете, це видавати помилки у рантаймі (якщо пішло щось не так), output студії ж видає помилки компайлтайму;
3. Для виведення попередження користувачу чи то у дебазі, чи то у релізі існує повно інших інструментів С++:
a) Почитайте, що таке exceptions і як їх готувати;
б) Почитайте, що таке logger'и;
в) Почитайте, що таке є ті assert'и.
Assert'и пробував не те.
Йду "курити" exeptions і loggers...
Дякую .
Assert'и пробував не те.
Йду "курити" exeptions і loggers...
Дякую .
Що, означає "не те"? Розумієте, люди на форумі у вільний час не підробляють гаданням. Якщо вам потрібна більш "конкретна" порада, задавайте більш "конкретні" питання. Згідно, вашого опису:
виводити попередження в(дебаг режимі)
Assert'и цілком підпадають під вашу вимогу. Адже:
If NDEBUG is defined [...], then assert does nothing.
Ні, не можна (точніше, можна, але вам цього не захочеться). Ви просто не розумієте, що таке компіляція і навіщо вона потрібна. На момент виконання, навіть дебажної версії, ніякого VS на комп'ютері може не бути. Це приблизно як корабельня - корабель без неї не збудуєш, але якщо є вантажний корабель із краном і вам треба, щоб корабель, скажімо, кожен 1000-у тонну відвантажував на корабельню - то вам треба одразу спланувати, як корабель буде плисти з того місця, де він зараз розташований, до корабельні, розвантажував там цю тонну і плив назад. Тобто ваша програма має перевіряти, чи запущений Visual Studio, якось під'єднуватися до неї (можливо, буде потрібен ще й плагін для VS) і передавав ці дані. Це купа геморою - і все виключно заради того, що вам не подобається, в якому вікні виводяться дані?
Зберігайте інформацію про помилки в окремому файлі, якщо вже вам так хочеться (саме це wander мав на увазі під logger-ами).
Ні, не можна (точніше, можна, але вам цього не захочеться). Ви просто не розумієте, що таке компіляція і навіщо вона потрібна.
Ну...я не гуру(поки : )) але що таке компіляція і для чого вона потрібна я розумію.
Вище я писав що повідомлення потрбні в дебаг режимі на етапі відладки.
Тобто ваша програма має перевіряти, чи запущений Visual Studio, якось під'єднуватися до неї (можливо, буде потрібен ще й плагін для VS) і передавав ці дані.
Я думав можна якось через
#ifndef DEBUG
/////
/////
#endif
koala написав:Тобто ваша програма має перевіряти, чи запущений Visual Studio, якось під'єднуватися до неї (можливо, буде потрібен ще й плагін для VS) і передавав ці дані.
Я думав можна якось через
#ifndef DEBUG ///// ///// #endif
А казали
що таке компіляція і для чого вона потрібна я розумію.
Assert'и цілком підпадають під вашу вимогу. Адже:
В assert все влаштовувало окрім того що разом з повідомленням виводиться вираз який перевіряє assert.
Це купа геморою - і все виключно заради того, що вам не подобається, в якому вікні виводяться дані?
Діло не в тому що мені не подобається,а в тому що якщо сама программа консольна та ще й з псевдографікою , то виводити туди повідомлення не дуже добре.
Олександр Ковальчук написав:koala написав:Тобто ваша програма має перевіряти, чи запущений Visual Studio, якось під'єднуватися до неї (можливо, буде потрібен ще й плагін для VS) і передавав ці дані.
Я думав можна якось через
#ifndef DEBUG ///// ///// #endif
А казали
Олександр Ковальчук написав:що таке компіляція і для чого вона потрібна я розумію.
Чому проблема з виводом в консоль студії до мене дійшло...дякую.
Моє питання видалили : (
Моє питання видалили : (
Ваше питання виділили в окрему тему і вже відповіли.
Вивід у консоль Output студії:
#include<windows.h>
.......
.......
OutputDebugStringA("Out of range\n");
Хоча..краще було б в Error List. : )
Вау. Вітаю, ви обставили місцевих гуру.
Хоча подібній наполегливості варто знайти краще застосування...
Вас було підвищено до Користувача, можете редагувати свої повідомлення
Може краще stderr або std::cerr, std::wcerr ..
Для відправлення відповіді ви повинні увійти або зареєструватися