В Message.CreateMessage что такое значение параметра «действие»?

Вот сделка:

public static Message CreateMessage(
    MessageVersion version,
    MessageFault fault,
    string action)

action : Описание того, как сообщение должно быть обработано.

Что вы, ребята, добавили туда? « Обращаться с осторожностью !!! » или « не собираюсь работать на чина. Я мог бы переработать функцию, чтобы найти определенную фразу (например, «#End of Stream #» или что-то в этом роде), но я думаю, что это плохая идея, если поток файлов, который я передаю, содержит именно эту фразу.

Я думал, что используйте перегрузку функций, но до сих пор книга упоминала, когда она хочет, чтобы я это сделал. Вероятно, я прилагаю слишком много усилий для решения этой одной проблемы, но мне нравится творческий процесс, и мне любопытно, есть ли такой способ сделать это без перегрузки.

7
задан Matt Chan 2 May 2012 в 17:41
поделиться

2 ответа

eof() действительно работает для cin. Вы делаете что-то не так; пожалуйста, опубликуйте свой код. Одним из распространенных камней преткновения является то, что флаг eof устанавливается после, когда вы пытаетесь прочитать за концом потока.

Вот демонстрация:

#include <iostream>
#include <string>

int main( int, char*[] )
{
    std::string s;
    for ( unsigned n = 0; n < 5; ++n )
    {
        bool before = std::cin.eof();
        std::cin >> s;
        bool after = std::cin.eof();
        std::cout << int(before) << " " << int(after) << "  " << s << std::endl;
    }

    return 0;
}

и ее вывод:

D:>t
aaaaa
0 0  aaaaa
bbbbb
0 0  bbbbb
^Z
0 1  bbbbb
1 1  bbbbb
1 1  bbbbb

(EOF можно сгенерировать с помощью Ctrl-Z в Windows и Ctrl-D во многих других ОС)

6
ответ дан 7 December 2019 в 01:13
поделиться

Почему std::cin.eof() не работает? cin будет сигнализировать EOF при закрытии stdin, что произойдет, когда пользователь сообщит об этом с помощью Ctrl+d (*nix) или Ctrl+z (Windows), или (в случае конвейерного входного потока), когда конвейерный файл заканчивается

2
ответ дан 7 December 2019 в 01:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: