日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

【C++】35.判断一个文件是否存在、 查找字符串中的子串

發布時間:2025/3/21 c/c++ 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【C++】35.判断一个文件是否存在、 查找字符串中的子串 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.判斷一個文件是否存在,IsFileExists()
bool IsFileExists(const std::string &file_name) {std::ifstream fin(file_name);if (fin) {return true;} else {std::cout << file_name << " is not exist" << std::endl;return false;}return true; }
2.提取一個文件名稱,并去掉擴展名,然后新建一個同名的不同擴展名文件:

這種做法一般用來根據某個文件來新建另一個與之相關聯的文件,如,提取出/home/username/work/panda.txt中的/home/username/work/panda,并新建一個/home/username/work/panda.doc文件。

std::string file_path="/home/username/work/panda.txt";//查找file_path是否有".txt"子串。返回找到的位置索引 const size_t find = file_path.find(".txt"); if (find == std::string::npos) { // npos表示一個不存在的位置,就是沒找到std::cout << "Cannot find file: " << file_path;return false; } // 將 file_path字符串從0~find位置組成的子串賦值給path const std::string path = file_path.substr(0, find); // std::string doc_path = path + ".doc"; std::cout << "TRT model will saved to " << engine_path_ << std::endl;

std::string中find()函數返回值是字母或子串在母串中的位置(下標記錄);
如果沒有找到,那么會返回一個特別的標記npos。std::string::npos是一個常熟,它等于size_type類型可以表示的最大值,用來表示一個不存在的位置。

更詳細的解釋請參考博客:C++ string中的find()相關函數使用說明 原文鏈接
返回子串出現在母串中的首次出現的位置,和最后一次出現的位置:

flag = "c"; position = s.find_first_of(flag); printf("s.find_first_of(flag) is :%d\n",position); position = s.find_last_of(flag); printf("s.find_last_of(flag) is :%d\n",position);

總結

以上是生活随笔為你收集整理的【C++】35.判断一个文件是否存在、 查找字符串中的子串的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。