LINUX.ORG.RU

std::string


0

0

Тогда вопрос -> [1|как преобразовать std::string в char] [2|если std:string str1="12345" то возможно ли посмотреть 3 элемент str1 без использования s.substr(3,1), как элемент массива s[3]]; [3|некаторые функции вывода не хотят выводить переменную char *s, а выводят только char s[20], в чем у них разница, и как прийти к типу каторый всетаки будет выводиться],..... зарание благодарен! :)

anonymous

Re: std::string

А std::string::c_str() подойдет? например сonst char *s = str.c_str(); cout << *(s + 3)

anonymous ()

Re: std::string

1. str.c_str(). Учти, что он возвращает (const char *) на внутренний буфер объекта и валиден только пока строка неизменна.

2. s[3] не пробовал? Говорят, помогает.

3. Что за функции, куда выводят, как пишешь?

watashiwa_daredeska ★★★★ ()
Ответ на: Re: std::string от watashiwa_daredeska

Re: Re: std::string

>2. s[3] не пробовал? Говорят, помогает.

учти что в твоем случае надо s[2], т.к. нумерация элементов не как в Паскале, а начинается с нуля

fghj ★★★★★ ()
Ответ на: Re: Re: std::string от fghj

Re: Re: Re: std::string

Про нумкрацию в курсах, но gcc выдает ошибку при наличии строчки типа char *s[2]=char *a[2];

anonymous ()
Ответ на: Re: Re: Re: std::string от anonymous

Re: Re: Re: Re: std::string

В смысле const char *s[2]=char *a[2]; Она же появляется при char *s=str.c_str();

anonymous ()
Ответ на: Re: Re: Re: Re: std::string от anonymous

Re: Re: Re: Re: Re: std::string

Приведение типов есть такая штука. 
char *s = ( char *) str.c_str();

fura13 ★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.