Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
танкист34
-62 / 0 / 0
Регистрация: 15.03.2013
Сообщений: 328
#1

Cоздать программу, записывающую ошибку в stderr c помощью exit() - C++

20.01.2014, 16:26. Просмотров 395. Ответов 8
Метки нет (Все метки)

создать программу, записывающую ошибку в stderr c помощью exit(). Спасибо
C++
1
2
std::cerr << "траля ля"; //не подойдёт
//причина: такой способ и в std::cout пишет сообщение
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.01.2014, 16:26
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Cоздать программу, записывающую ошибку в stderr c помощью exit() (C++):

Помогите найти ошибку в коде. Функция exit - C++
Доброго времени суток! Помогите разобраться, почему в коде(код определяет простое число или нет): #include&lt;iostream&gt; #include...

Компилятор выдает ошибку: [Error] ld returned 1 exit status - C++
#include &lt;iostream&gt; using namespace std; const int Max = 5; int fill_array(double ar, int limit); void show_array(double ar, int...

Написать программу, записывающую в файл и читающую из файла массив из структур - C++
Написать программу, записывающую в файл и читающую из файла массив из структур. Написать следующие функции и организовать их вызов: функцию...

Cоздать программу тестирования - C++
Здравствуйте, помогите пожалуйста создать программу тестирования на языке С++ или Delphi ? Суть программы состоит в том, что надо задавать...

выдает одну ошибку не пойму как исправить .Ошибка : ||error: ld returned 1 exit status| - C++
подскажите пожалуйста... выдает одну ошибку не пойму как исправить .Ошибка : ||error: ld returned 1 exit status| #include &lt;iostream&gt; ...

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

8
ForEveR
В астрале
Эксперт С++
7983 / 4742 / 321
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
20.01.2014, 16:28 #2
танкист34, С помощью exit невозможно.
0
танкист34
-62 / 0 / 0
Регистрация: 15.03.2013
Сообщений: 328
20.01.2014, 16:30  [ТС] #3
Цитата Сообщение от ForEveR Посмотреть сообщение
танкист34, С помощью exit невозможно.
а можете сказать почему когда в std::cerr пишешь что нить, то эти данные можно вытащить через стандартный поток вывода?
0
ForEveR
В астрале
Эксперт С++
7983 / 4742 / 321
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
20.01.2014, 16:34 #4
танкист34, Это как еще интересно? Все зависит от того, куда направлен stderr. По-дефолту stderr пишет в стандартный поток ошибок, а stdout пишет в стандарный поток вывода. http://ru.wikipedia.org/wiki/%D0%A1%...BE%D0%BA%D0%B8
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
#include <fstream>
 
int main()
{
   std::ifstream ifs("/dev/null");
   std::streambuf* old_cerr = std::cerr.rdbuf();
   std::cerr.rdbuf(ifs.rdbuf());
   std::cerr << "null" << std::endl;
   std::cerr.rdbuf(old_cerr);
}
Вытащите-ка.
0
Байт
Нарушитель
Эксперт C
16654 / 10931 / 1674
Регистрация: 24.12.2010
Сообщений: 21,300
20.01.2014, 16:57 #5
Цитата Сообщение от танкист34 Посмотреть сообщение
а можете сказать почему когда в std::cerr пишешь что нить, то эти данные можно вытащить через стандартный поток вывода?
Потому что cerr и cout по умолчанию направлены в одно место, на консоль. Если хотите разделить их, запускайте программы так:
proga.exe >out.txt 2>err.txt
0
танкист34
-62 / 0 / 0
Регистрация: 15.03.2013
Сообщений: 328
20.01.2014, 16:57  [ТС] #6
Цитата Сообщение от ForEveR Посмотреть сообщение
танкист34, Это как еще интересно? Все зависит от того, куда направлен stderr. По-дефолту stderr пишет в стандартный поток ошибок, а stdout пишет в стандарный поток вывода. http://ru.wikipedia.org/wiki/%D0%A1%...BE%D0%BA%D0%B8
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
#include <fstream>
 
int main()
{
   std::ifstream ifs("/dev/null");
   std::streambuf* old_cerr = std::cerr.rdbuf();
   std::cerr.rdbuf(ifs.rdbuf());
   std::cerr << "null" << std::endl;
   std::cerr.rdbuf(old_cerr);
}
Вытащите-ка.
я про код который в заголовке, с него вытаскивается и прога зависает, а с вашего не вытаскивается и тоже зависает
0
ForEveR
В астрале
Эксперт С++
7983 / 4742 / 321
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
20.01.2014, 17:07 #7
танкист34, Что значит "зависает"? Здесь нечему зависать.
0
Убежденный
Ушел с форума
Эксперт С++
15708 / 7218 / 1139
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
20.01.2014, 22:28 #8
Цитата Сообщение от танкист34 Посмотреть сообщение
создать программу, записывающую ошибку в stderr c помощью exit().
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <stdlib.h>
 
 
 
void my_callback()
{
    std::cout << "Hello!" << std::endl;
}
 
 
 
int main()
{
    atexit(my_callback);
    exit(0);
    return 0;
}
1
Tulosba
:)
Эксперт С++
4397 / 3233 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
20.01.2014, 23:31 #9
Убежденный, хорошая попытка. Но колбэк сработает и без явного вызова exit(). И всё же стоит заменить std::cout на std::cerr.
0
20.01.2014, 23:31
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.01.2014, 23:31
Привет! Вот еще темы с ответами:

Cоздать программу, которая бы принимала числа из файла выбирала из них нечетные и заносила бы в другой файл - C++
Помогите написать программу, буду очень признательна:) создать программу, которая бы принимала числа из файла выбирала из них нечетные и...

Cоздать программу, которая выводит на экран ФИО с помощью линий - C#
Уважаемые пользователи! Нужно создать программу, которая выводит на экран ФИО с помощью линий, используя pen, brush и разные цвета. ...

Программа выдает ошибку: exit code 2 - Free Pascal
Дошел до этого момента, решил попробовать, как идет программа, а она выдает ошибку exit code 2 из-за чего может это быть? program ZZZ; ...

Напишите программу, записывающую слово X в обратном порядке - Pascal ABC
Напишите программу, записывающую слово X в обратном порядке. Помогите пож-ста) и если не трудно с пояснениями в комментариях плиз)


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.