获取不带后缀的图片名称,只需要用到两个函数,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;
}