C/C++字符串截取的问题

源码货栈 课程设计 1

//假设我有一个字符串路径: string path = "D:\Program Files\opencv\A1.jpg";

//或者是这样的路径: string path = "D:/Program Files/opencv/B11.jpg";

简而言之,就是获取路径中的文件名字“A1.jpg”和“B11.jpg”,如何用C++编程实现

回复

共2条回复 我来回复
  • 毕业设计客栈
    这个人很懒,什么都没有留下~
    评论
    #include
    #include
    using std::cout;
    using std::endl;
    using std::string;
    int main(void){
    string str1="hi,test,hello";
    string str2="test";
    //搜索子串。返回子串第一个字符的索引
    cout << str1.find(str2)<<endl;
    //假设不存在,返回内置常量string::npos,在一些编译器中通常为4294967295
    cout << str1.find('k')<<endl;
    //从指定索引開始搜索
    cout <<str1.find('h',2)<<endl;
    //从指定索引搜索指定字符串的前n个字符
    cout <<str1.find("her",1,2)<<endl;
    //在指定字符集合中搜索字符,返回其索引
    cout <<str1.find_first_of("AaEeIiOoUu")<<endl;
         //从指定索引处開始在指定字符集合中搜索字符
    cout <<str1.find_first_of("AaEeIiOoUu",2)<<endl;
         //从指定索引处開始在指定字符集合中搜索指定长度字符
    cout <<str1.find_first_of("AaEeIiOoUu",2,2)<<endl;
    //在指定字符集合中逆向搜索字符,返回字符最后索引,相同也具有上面另外两个重载方法
    cout <<str1.find_last_of("AaEeIiOoUu")<<endl;
    //查找字符串中第一个不在字符集合中的字符
    cout <<str1.find_first_not_of("AaEeIiOoUu")<<endl;
    //查找字符串中最后一个不在字符集合中的字符
    cout <<str1.find_last_not_of("AaEeIiOoUu")<<endl;
    //逆向搜索,也具有和find()一样的重载方法
    cout <<str1.rfind('l')<<endl;
    //截取子串
    string str3=str1.substr(3,4);
    cout <<str3<<endl;
    return 0;
    }
    
    0条评论
  • 源码港湾
    这个人很懒,什么都没有留下~
    评论
    #include
    #include
    
    using namespace std;
    
    int main()
    {
    string strPath(""D:\Program Files\opencv\A1.jpg""); // string中的\是转义字符,\就是代表\
    string strFileName;
    int nPos = strPath.find_last_of('\');
    if(nPos > 0)
    {
    strFileName = strPath.substr(nPos + 1, strPath.length() - nPos - 1);
    cout << strFileName << endl;
    }
    return 0;
    }
    

    另一种情况类似

    0条评论

发表回复

登录后才能评论