2014-01-17 2 views
0

Я пытаюсь напечатать элемент char, но только распечатать его с определенного символа. , например.как отделить влево от конкретного символа и распечатать остальные

char* str[265]; 
str[0] = "hello"; 
str[1] = "world"; 
str[2] = "go-to"; 
str[3] = "//foo.com/moreInfo/contact"; 

Но на ул [3] я хочу, чтобы он был равным; это можно сделать? поэтому сохраните слово после последнего «/».

Спасибо заранее

+1

Есть ли метод или сочетание методов, которые вы могли бы использовать из 'станд :: string'? –

+0

Обычно я смотрю на библиотеку языка C, чтобы найти методы, которые я мог бы использовать. Для строк C-Style это выглядит многообещающе: http://en.cppreference.com/w/c/string/byte/strrchr –

+0

Эта функция выглядит полезной: http://en.cppreference.com/w/c/string/byte/strstr –

ответ

2

Если вы должны использовать строки C в вашей C++ кода, даже если C++ std::string предлагает большую гибкость, вы могли бы использовать strrchr, чтобы найти последний слеш в str[3], как это:

char *tmp = strrchr(str[3], '/'); 
if (tmp) { 
    str[3] = tmp+1; 
} 

Для этого необходимо составить #include <cstring>.

Demo on ideone.

+0

Это именно то, что мне нужно. спасибо – Doctor06

Смежные вопросы