#include <iostream>
#include <string>
using namespace std;
int main()
{
char *p = "D:\\Work\\s\\s.jpg";
string temp = p;
int pos = temp.find_last_of('\\');
string s(temp.substr(pos + 1) );
system("pause");
return 0;
#include <string>
using namespace std;
int main()
{
char *p = "D:\\Work\\s\\s.jpg";
string temp = p;
int pos = temp.find_last_of('\\');
string s(temp.substr(pos + 1) );
system("pause");
return 0;
}
从上面提取出来的s 是18082.jpg 比如,那么如果我们想这个图片写到D:\\images\\目录下面。好像在matlab 中是这样执行的:
imwrite(strcat("d:\\images\\",s),image);
在c++ 这样写报错,因为s 是string 类型的。
如果需要写,那么我们可以 使用下面的方法:
提取出来18082.jpg 从一个路径下。写到我们想写的路径下:
string ImageName = buff;
int pos = ImageName.find_last_of('\\');
string s(ImageName.substr(pos + 1) );
const char *p = s.data();
char ptemp[30];
sprintf(ptemp,"d:\\images\\%s",p);
imwrite(ptemp,image2);
特别指出:
sprintf(ptemp,"d:\\images\\%s",p); 这句话的作用相当于strcat("d:\\images\\",s)