Как преобразовать string в char?

119
28 июня 2019, 04:30

Есть произвольная строка не больше 25 символов. Например "wo1fram"
Как преобразовать ее в массив char[255]?
Чтобы потом с char можно было работать как с полноценным массивом символов, оканчивающимся нуль-символом.

Answer 1

Тут, видите ли, есть два решения.

Одно - если вам надо только читать эту строку, или там, поменять в ней пару символов - но не менять ее размер (так что всякие strcpy отменяются) - то можно воспользоваться функциями c_str() и data(). Очень рекомендую внимательно почитать описания, а главное - ограничения, накладываемые этими функциями.

И другое - если нужно работать с ней как со строкой в стиле С со всеми возможностями - то просто скопируйте ее в массив, типа

char buf[255];
strcpy(buf,s.c_str());

или

char * buf = strdup(s);

Примерно так.

READ ALSO
Отфильтровать по дате (стрим)

Отфильтровать по дате (стрим)

Есть список обьектов, у каждого из них есть поле ZonedDateTime createdDate необходимо сделать выборку обьектов за последний год

157
Как загрузить файл в облачное хранилище (Google Drive, Яндекс Диск)?

Как загрузить файл в облачное хранилище (Google Drive, Яндекс Диск)?

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

115
Отправить фото на стену группы VK

Отправить фото на стену группы VK

Не могу загрузить фото на стену в группе , загрузил фото в профиль photo3420_326050355 и получил url при передаче VKApiwall()

117
Как отобразить свои кастомные шрифты из папки в combobox?

Как отобразить свои кастомные шрифты из папки в combobox?

Впервые знакомлюсь с comboboxПо туториалу сделал отображение строковых значений в combobox

136