【C++】35.判断一个文件是否存在、 查找字符串中的子串
生活随笔
收集整理的這篇文章主要介紹了
【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()相關函數使用說明 原文鏈接
返回子串出現在母串中的首次出現的位置,和最后一次出現的位置:
總結
以上是生活随笔為你收集整理的【C++】35.判断一个文件是否存在、 查找字符串中的子串的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【深度学习】CUDA 和 TensorR
- 下一篇: 【opencv】21.图像处理为什么要归