std::string c нулями в произвольных местах
От: vlad.k.sm  
Дата: 03.08.05 09:39
Оценка:
1. У меня std::string буфер содержит не печатные символы и также '\0' в середине буфера. Как мне вывести на std::cout весь буфер, понятно что я могу идти по буферу и делать вывод по символьно или кусками. меня интересует какой-нибудб "встроенный" способ.
2. И еще вопрос когда я сравниваю два буфера std::string используя оператор == , то видимо этот оператор сравнивает весь буфер данных, а не только до первого '\0'. Это стандартное поведение?
3. std::string::size() должен возвращать размер всего буффера или опять же до первого '\0'

Thanks


03.08.05 18:27: Перенесено модератором из 'C/C++. Прикладные вопросы' — Павел Кузнецов
Re: std::string c нулями в произвольных местах
От: CrystaX Россия https://crystax.me/
Дата: 03.08.05 10:07
Оценка: 5 (2)
Здравствуйте, vlad.k.sm, Вы писали:

VKS>1. У меня std::string буфер содержит не печатные символы и также '\0' в середине буфера. Как мне вывести на std::cout весь буфер, понятно что я могу идти по буферу и делать вывод по символьно или кусками. меня интересует какой-нибудб "встроенный" способ.


std::cout.write(s.c_str(), s.size());


VKS>2. И еще вопрос когда я сравниваю два буфера std::string используя оператор == , то видимо этот оператор сравнивает весь буфер данных, а не только до первого '\0'. Это стандартное поведение?


Да.

VKS>3. std::string::size() должен возвращать размер всего буффера или опять же до первого '\0'


Всего буффера.
... << RSDN@Home 1.1.4 stable rev. 510>>
Re[2]: std::string c нулями в произвольных местах
От: vlad.k.sm  
Дата: 03.08.05 11:25
Оценка:
Здравствуйте, CrystaX, Вы писали:

CX>Здравствуйте, vlad.k.sm, Вы писали:


VKS>>1. У меня std::string буфер содержит не печатные символы и также '\0' в середине буфера. Как мне вывести на std::cout весь буфер, понятно что я могу идти по буферу и делать вывод по символьно или кусками. меня интересует какой-нибудб "встроенный" способ.


CX>
CX>std::cout.write(s.c_str(), s.size());
CX>


Тогда еще в догонку, нет ли способов реализовать это используя С-style вывод fprintf and etc. Т.е. как-то настроить предварительно stderr and stdin
Re[3]: std::string c нулями в произвольных местах
От: CrystaX Россия https://crystax.me/
Дата: 03.08.05 11:33
Оценка:
Здравствуйте, vlad.k.sm, Вы писали:

VKS>Тогда еще в догонку, нет ли способов реализовать это используя С-style вывод fprintf and etc. Т.е. как-то настроить предварительно stderr and stdin


Честно говоря, не понял о чем речь. Что "это" нужно настроить?
... << RSDN@Home 1.1.4 stable rev. 510>>
Re[3]: std::string c нулями в произвольных местах
От: Alexey Chen Чили  
Дата: 03.08.05 12:07
Оценка:
Здравствуйте, vlad.k.sm, Вы писали:
VKS>Тогда еще в догонку, нет ли способов реализовать это используя С-style вывод fprintf and etc. Т.е. как-то настроить предварительно stderr and stdin
fwrite, наверное поможет. Только не понятно чего там настраивать
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.