даж не знаю что ты этим хотел сказать.... имхо printf более функциональная весчь, хотя это кто как привык.. неболшой тестик на скорость Code: #include <stdio.h> #include <stdlib.h> #include <time.h> #include <iostream.h> #define ZIKL 1000000 int main() { int ts = time(NULL); int i; for(i = 0; i < ZIKL; i++) printf("hello"); int tp = time(NULL); for(i = 0; i < ZIKL; i++) std::cout<<"hello"; printf("\n\nprintf - %d\ncout - %d\n", tp - ts, time(NULL) - tp); return system("pause"); } как видно printf работает быстрее, да и с ее помощбю оч удобно форматировать строки! http://ru.wikipedia.org/wiki/Printf
Мда... Жаркие дебаты , прям бой какой то iostream vs stdio =) Победитель - printf! Поздравляем поклонников функции! ZIKL 100000 time cout 9 time printf 3
Тестик на скорость, зачем тогда писать на c++ этот код? Может тогда ради скорость на asm'e ? Потоковый вывод гораздо более удобен и функционален %) а скуяле ты судья?
вы не логичны.... на асме приходится гораздо больше писать для той же ситуации... а мы говорим что printf - лаконичнее , быстрее и матрица не сьела ваш моск внушив что есть чтото с названием поток! .... давайте я напишу класс назову его тиранозавр.... а все кто будут пользоваться с важность будут говорить о тирррексах.... и быть важными что они абстрагировались до уровня тиранозавров 8)))))))))))))
Я тест провел, победил printf , но никто ж не говорит что cout это плохо. Я ж говорю, кому что нравиться, через классы *stream зато удобней с файлами работать
И да - C++ оо язык, поэтому логичнее использовать для ввода-вывода на языке c++ именно классы-шаблоны ( А не сишные функции
Омг, что значит не уложились? Если я указываю прототип и пример это не значит, что в коде это будет две строчке.
printf быстрее если выводишь маленький объем данных. а соut если большой насколько я помню. имхо юзать сишные ф-ции в с++ бред. пишите либо на си либо на си++. подредактируй пожалуйста свой пост и измени дешевые сишные функции на сишные функции
я программю на С++ ! И я даже не понимаю о чем вы тут говорите.... С++ вобрало в себя весь Си(в стандарте Ansi) и пользоваться им не просто можно а нужно! Это не 2 языка... С++ это ступень развития Си
Все, щас иду на экзамен по языкам программирования и гружу препода - кто же круче. А то тут стало жарко прям! Ну еще раз, кому нравиться iostream - юзайте, кому нравиться printf - юзайте, все равно все при своих мнениях останемся!
Страуструп вот только так не считает. nc.STRIEM этот тест очень субъективен. выигрыш в скорости совсем небольшой. Мне кажется, это не то, на что нужно обращать внимание при разработке ПО. Оптимизация нужнаы лишь там, где она действительно нужна, и это далеко не тот случай.
модеры создайте новую тему printf() vs iostream, и перенесите туда посты, пообсуждаем, тут просто флудить не охота. в какойто степени iostream удобнее, НО некоторые весчи которые с легкостью реализуються через printf(), iostream не способна реализовать. теже форматирования строк.. а ваше это кто как привык..
Какие же вещи, которые можно реализовать с помощью printf, нульзя реализовать с помощью iostream? В том-то и дело что iostream обладает всеми возможностями printf + имеются собственные, которые в printf невозможны.
Между Страупом и Рихтером такая же разница! Один учит абстрагироваться другой управлять компом! В одном случае имеем программера который не знает что строка должна завершаться нулем зато быстро взращивает ботву, а в другом программера который и с ексепшинами воюет так как ему нравится!
Code: #include <iostream> using namespace std; #define size 10; int main() { for(int i=0; i < size; i++) { cout<<"Test\n"; } system("PAUSE"); return 0; } Почему комплится не хоче? если в цикле место size подставить 10 то всё норм... но я ведь обьявил что size это 10... делаю по книжке там такоей пример комплится норм... хотя у них BORLANDc++ а у меня visual studio c++ компилятор пишет Code: 1>.\file.cpp(7) : error C2146: syntax error : missing ')' before identifier 'i' 1>.\file.cpp(7) : error C2059: syntax error : ';' 1>.\file.cpp(7) : error C2059: syntax error : ')' 1>.\file.cpp(8) : error C2143: syntax error : missing ';' before '{'
подскажите плз в чём прикол последняя строка ч ошибкой вылетает, компилирую vc++ 6; #include "stdafx.h" #include "winsock.h" #include <string.h> #include "winbase.h" #include <stdlib.h> #include <iostream.h> #pragma comment(lib,"ws2_32") int main(int argc, char* argv[]) { char *file="C://host.txt"; HANDLE filhend; DWORD dw; int i,j; char *buff, *stroka; filhend=CreateFile(file,GENERIC_READ, 0, 0, OPEN_EXISTING, 0, 0); DWORD razm=GetFileSize(filhend, NULL); buff = (char *)malloc(razm+1); stroka = (char *)malloc(razm+1); for(i=0;i<=razm;i++) {stroka='\0'; buff='\0';} //DWORD razm=GetFileSize(filhend, NULL); //cout << razm; ReadFile(filhend, buff, razm/*127*/, &dw, 0 ); CloseHandle(filhend); MessageBox(0,buff,"123",MB_OK); i=0; j=0; while(j<=razm){ while((buff[j]!=0x0D) || (j>=razm)) { stroka=buff[j]; j++; i++; } MessageBox(0,stroka,"123",MB_OK); //for(int k=0;k<=j;k++) stroka[k]='\0'; j=j+2; i=0; //if (buff='!') {break;} } //CloseHandle(filhend); return 0; } ================= разобрался