您的位置:首页 > 编程语言 > C语言/C++

BUFF 在C++ 中取其中一部分 并且写到固定的目录下

2015-06-08 16:14 260 查看
#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;

}

从上面提取出来的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)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: