преобразование c разрабатывает строку к строке стиля C++

Может любой говорить мне, как преобразовать строку стиля C (т.е. символ*) к строке стиля C++ (т.е. станд.:: строка) в программе C++?

Большое спасибо.

17
задан assassin 11 February 2010 в 06:51
поделиться

4 ответа

std::string может принимать char * в качестве параметра конструктора, а также через ряд операторов.

char * mystr = "asdf";
std::string mycppstr(mystr);

или для юристов языка

const char * mystr = "asdf";
std::string mycppstr(mystr);
24
ответ дан 30 November 2019 в 11:52
поделиться
char* cstr = //... some allocated C string

std::string str(cstr);

Содержимое cstr будет скопировано на str .

Это также можно использовать в таких операциях, как:

std::string concat = somestr + std::string(cstr);

Где somestr уже является `std :: string``

9
ответ дан 30 November 2019 в 11:52
поделиться

Вы можете использовать конструктор класса string , который принимает в качестве аргумента char * .

char *str = "some c style string";
string obj(str);
3
ответ дан 30 November 2019 в 11:52
поделиться

Другой способ выполнить преобразование - вызвать функцию, которая принимает в качестве параметра const std :: string & :

void foo(const std::string& str);

void bar()
{
    char* str= ...

    foo(str);
}

Я думаю, что гораздо удобнее выполнять преобразование при вызове функции граница.

0
ответ дан 30 November 2019 в 11:52
поделиться
Другие вопросы по тегам:

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