C++如何截取不带后缀的图片名称

Posted amcle

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++如何截取不带后缀的图片名称相关的知识,希望对你有一定的参考价值。

       获取不带后缀的图片名称,只需要用到两个函数,strchr函数和substr函数,前者寻找字符的位置

后者截取需要字符的长度,具体的函数格式如下:

    char *strchr(char *str,char character)//str为要寻找的字符串,character为要寻找的字符  

    函数功能:从字符串str中寻找字符character第一次出现的位置。
    返回说明:返回指向第一次出现字符character位置的指针,如果没找到则返回NULL。

      substr(size_type _Off = 0,size_type _Count = npos)

实现的具体程序如下(只是测试程序):

#include <iostream>
#include <fstream>
#include <string>

using namespace std;

int main() 
 
	string imgPath = "C:\\\\Users\\\\Administrator\\\\Desktop\\\\1.txt";
	ifstream fin(imgPath);
	string imgName;
	while(getline(fin,imgName))
	
		char *imgp = strchr(&imgName[0],'.');//获取.号的位置
		size_t imglen = imgp - &imgName[0];//长度为.号位置减去头一个字符位置
		string Name = imgName.substr(0,imglen);//截取图名
		cout<< Name <<endl;
	

	return 0;


以上是关于C++如何截取不带后缀的图片名称的主要内容,如果未能解决你的问题,请参考以下文章