Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Выделяление только имя файла - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Перегрузка функций в классе http://www.cyberforum.ru/cpp-beginners/thread647234.html
Дано задание: 1.реализовать в классе работу стека; 2.применить перегрузку функций. Первое я реализовал без проблем, а вот со вторым проблема. Пожалуйста, подскажите в чем ошибка. #include...
C++ Как в Visual C++ 2010 создать регион? Хорошо бы исходничек, а то я на теории туплю, и это можно есть вместе с MFC? http://www.cyberforum.ru/cpp-beginners/thread647229.html
C++ Дан файл,содержащий информацию о поступлении платежей по квартплате в текущий год
Дан файл,содержащий информацию о поступлении платежей по квартплате в текущий год.Структура записи файла: -номер лицевого счета -фамилия -номер квартиры -номер месяца -сумма платежа Написать...
C++ Объявление функции другом класса
Объявил функцию другом класса и в функции обращаюсь к закрытым данным класса,но почему-то не получается из-за того,что нет доступа к ним,хотя в другой функции-друге класса всё нормально вот class...
C++ Не выводит список на экран http://www.cyberforum.ru/cpp-beginners/thread647209.html
Здравствуйте! Проблема вот в чем: при запуске программы ошибок не возникает, только мигнет черное окошко и все. Отлаживая программу выяснил, что проблемма находится тут, операция присваивания не...
C++ найти точку вводится N- количество домов и К- количество дорог. дома пронумерованы от 1 до N. каждая дорога определяется тройкой чисел- двумя номерами домов- концов дороги и длиной дороги. в каждрм доме живет по... подробнее

Показать сообщение отдельно
Петррр
5965 / 3402 / 337
Регистрация: 28.10.2010
Сообщений: 5,926
05.09.2012, 19:40
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <iostream>
#include <string>
#include <exception>
 
std::string fileName(const std::string& path)
{
    std::size_t slashPos, backSlashPos = std::string::npos;
    slashPos = path.rfind('\\');
    backSlashPos = path.rfind('/');
    if ((slashPos != std::string::npos && backSlashPos == std::string::npos) 
        || slashPos > backSlashPos)
        return path.substr(slashPos + 1, path.size() - slashPos - 1);
    if (backSlashPos != std::string::npos)
        return path.substr(backSlashPos + 1, path.size() - backSlashPos - 1);
    throw std::exception("is not path to file");
}
 
int main()
{
    std::string path = "E:\\video\\100_Greatest_Discoveries\\09_fizika.avi";
    std::cout << fileName(path) << std::endl;
    system("pause");
    return 0;
}
Добавлено через 9 минут
C++
1
2
3
4
5
6
7
8
#include <boost/filesystem/path.hpp>
 
int main()
{
    // :D
    boost::filesystem::path path("/home/porno/09_fizika.avi");
    std::cout << path.filename();
}
test
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru