2014-01-30 2 views
-7

Привет, может кто-то конвертировать эту инструкцию c printf в инструкцию C++ cout?Преобразование отчета printf в cout?

printf("\n\nLIST OF MOVIES:\n\n"); 
+0

Почему вы отметите это как «C»? –

+0

Kerrek's на деньги. Отдельно вы увидите ['std ::'] 'endl', который также используется в C++, что эквивалентно одному' \ n' и потоку потока (который 'printf()' никогда явно не запрашивает). Примечательно, что в C++ 'std :: cin' и' std :: cout' по умолчанию «привязаны», что означает, что 'std :: cout' автоматически сбрасывается всякий раз, когда вы переходите на вход из' std :: cin'. –

+0

@TonyD. Также стоит отметить, что когда 'std :: cout' уничтожается в конце программы, он сбрасывается, поэтому никаких проблем с этим для последней строки вывода у вас нет. – chris

ответ

6

Как это:

std::cout << "\n\nLIST OF MOVIES:\n\n"; 
0
std::cout<<"\n\nLIST OF MOVIES:\n\n"; 

или

std::cout<<endl<<endl<<"LIST OF MOVIES:"<<endl<<endl; 
+2

Чтобы быть справедливым, это делают разные вещи. Точнее, второй флеш намного больше, чем нужно. – chris

+0

, а второй отсутствует 'std ::' на 'endl' – Avery3R

+0

Они действуют как та же разница, что я знаю, это std :: endl очищает выходной буфер, а \ n - нет. Если вы не хотите, чтобы буфер часто промывался, используйте \ n – Hamza

2

Наиболее эффективным способом является

std::cout << "\n\nLIST OF MOVIES:\n" << std::endl; 

Поскольку епсИ также очистите буфер.

+2

endl поставляется со стоимостью времени. поэтому использование его излишне неэффективно – const

0

Это не чистое решение, и действительно disadviced, вы можете использовать препроцессор для замены Printf с станд :: соиЬ:

#define printf(text) std::cout << text 

int main() 
{ 
    printf("\n\nLIST OF MOVIES:\n\n"); 
} 
Смежные вопросы