2017-02-01 3 views
1

Для следующего кода:Автоматический интервал с iomanip

cout << left << setw(20) << "Example Header\n"; 
cout << setw(60) << setfill('-') << "-" << endl; 

Вторая линия (с черточками) с отступом на 5 мест для какой-либо причины. Сначала я думал, что что-то автоматически получает вкладку, но я не могу найти причины для этого. Независимо от того, что происходит во второй строке, автоматически помещаются шесть пробелов, которые я не могу удалить. Несмотря на то, простую работу вокруг была бы для меня, чтобы просто заполнить вторую строку с пробелами, я до сих пор интересно знать, почему моя программа ставит эти пространства.

ответ

1
cout << left << setw(20) << "Name" << setw(20) << "Number" << setw(20) << "Points Scored" 
    << endl; 
    // ^^^^^^^^ 

вместо использования '\n' исправления, которые.

См. Live Demo.

+0

Спасибо, это работает. Это кратко перешло мне на ум, но ответы, которые я нашел, говорят, что единственная разница между «\ n» и endl заключалась в том, что endl очистил выходной буфер. Почему это работает? –

+0

Возможно, вы захотите добавить объяснение * why * .. –

+0

@JesperJuhl Я все еще [об этом разбираюсь] (http://coliru.stacked-crooked.com/a/efd69a553d1eaba6). Если у вас есть хороший, не стесняйтесь звонить. –

Смежные вопросы