У вас есть небольшое недопонимание концепции кут. cout - это поток, а оператор << определен для любого потока. Итак, вам просто нужен другой поток, который записывает в строку, чтобы вывести ваши данные. Вы можете использовать стандартный поток, такой как std :: ostringstream, или определить свой собственный. </p>
Так что ваша аналогия не очень точна, так как cout не такая функция, как printf и sprintf