Являются ли функции ввода / вывода в формате C (printf, sprintf и т. Д.) Более популярными, чем IOStream, и если да, то почему? [закрыто]

16
задан James McNellis 29 August 2010 в 02:42
поделиться

3 ответа

Существует несколько критических замечаний по поводу стандартной потоковой системы, в первую очередь за то, что она обычно не так производительна, как система C, и что они не позволяют изменять порядок форматируемых элементов, что может усложнить локализацию.

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

4
ответ дан 30 November 2019 в 16:57
поделиться

Там, где я работаю, мы используем форматирование в стиле printf. Это связано с тем, что мы часто использовали класс MFC CString и его метод printf в стиле Format. Мы постепенно отказались от MFC, но не изменили наш подход к форматированию строк.

Что касается того, какой из них спроектирован лучше, см. Кто спроектировал / спроектировал IOStreams C++, и будет ли он по-прежнему считаться хорошо спроектированным по сегодняшним стандартам?

2
ответ дан 30 November 2019 в 16:57
поделиться

Я предполагаю, что printf используется более широко, потому что

  • он использовался довольно много лет до того, как появились компиляторы и потоки C++
  • C используется больше, чем C++
  • много I/ O был сделан для таких вещей, как Windows API, для которого printf является естественным дополнением Open/Read/Write/Close/etc
0
ответ дан 30 November 2019 в 16:57
поделиться
Другие вопросы по тегам:

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