Как поместить строку c ++ в массив char - PullRequest
0 голосов
/ 04 марта 2010

Если у меня есть что-то вроде

char name [10];

и я хочу поместить строку s в name, где s = "joe"

howя сделал бы это?

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

Ответы [ 5 ]

6 голосов
/ 04 марта 2010
strcpy (&name, s.c_str());
1 голос
/ 04 марта 2010

std::string имеет c_str член, который преобразует его в const char*. Для копирования из одного массива символов в другой используйте strcpy.

0 голосов
/ 04 марта 2010
std::memcpy(name, str.c_str(), str.size() + 1);
0 голосов
/ 04 марта 2010

Если у вас есть строка C ++, вы можете вызвать ее метод c_str(), чтобы получить char *, подходящий для использования с strcpy(), определенный в <cstring>.

0 голосов
/ 04 марта 2010

strcpy() обычно выполняет работу.strncpy() лучше, если доступно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...