singlepost

Помогите с разбором строки << На главную или назад  

Всем доброго времени суток…
кароч у меня такая проблема: я пишу на языке c++ некую прогу.. в какой то момент времени я получаю строку типа C:\ololo\olo ololo\ololo.exe или D:\ololo olo\olololololololololo.exe
мне нужно обрезать такую строку до последнего слэша включительно то есть чтобы осталось только конечное имя файла (например ololo.exe). Каким оператором мне лучше воспользоваться? или есть другой способ получить конечное имя файла из его полного пути? Заранее спасибо=)

5 ответов в теме “Помогите с разбором строки”

  1. 5
    Cyber Max ответил:

    srtrchr – сделает за вас всю работу :)

    char *last = strrchr(str, '//');
    if (last != NULL) {

    тут зная указатель на последний слешь можно сделать все что угоно :)
    }

  2. 4
    Михаил Михалев ответил:

    Есть специальная функция в winapi: PathRemoveFileSpec
    Советую просмотреть все функции, которые начинаются с Path – они очень полезные.

  3. 3
    Лёха Воронин ответил:

    //Функция что возращает указатель на строка с именем файла.
    char* Get_Only_Name(char *str)
    {
    char *ptr=str;
    for(int i=strlen(str);i>0;i–)
    if(str[i]=='\\')
    ptr=str[i];
    return ptr;
    }

  4. 2
    Антон Щиров ответил:

    Причем проверять от конца к началу

  5. 1
    Лёха Воронин ответил:

    проверяешь длину строки функцией int strlen(char *str); и в цикле проверять проверять символ пока не равен '\\'. И вернуть указатель.
    Лучше этот процес оргонизовать в отдельной функции.

Клуб программистов работает уже ой-ой-ой сколько, а если поточнее, то с 2007 года.