Что является различием между станд.:: строка:: c_str и станд.:: строка:: данные? [дубликат]

Я рекомендовал бы DISLIN. Это является кросс-платформенным, имеет поддержку многих языков и имеет очень интуитивное именование стандартных программ.

кроме того, просто заметил, что никто не упомянул PLPLOT, также кросс-платформенный, много языковой...

15
задан pnuts 2 November 2015 в 22:36
поделиться

2 ответа

c_str () гарантирует завершение NUL. data () - нет.

18
ответ дан 1 December 2019 в 03:04
поделиться

c_str () возвращает указатель на данные с добавленным байтом NUL, поэтому вы можете использовать возвращаемое значение как «строку C».

data () возвращает указатель на данные без каких-либо изменений.

Используйте c_str (), если используемый вами код предполагает, что строка завершается NUL (например, любая функция, написанная для обработки строк C).

5
ответ дан 1 December 2019 в 03:04
поделиться
Другие вопросы по тегам:

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