我需要保存从相机中捕获的图像 “D:\ storage \ img1”然后我按“s”另一次,程序应该保存 “D:\ storage \ img2”然后 “d:\存储\ IMG3” 所以每次按下自定义键时,它都会保存一个不同名称的图像。 怎么做?
感谢您的所有回复
答案 0 :(得分:0)
启动时,使用“img *。*”掩码迭代文件夹 - 如何执行此操作取决于文件系统API。使用字符串函数或循环来提取表示数字的文件名部分并将其转换为int。每次需要保存文件时,在int中加1,转换回number-string&然后连接路径,“img”,数字字符串和扩展来组装新的文件规范。
答案 1 :(得分:0)
此代码将int i
的值连接(添加)到string filename
。这是通过IntToStr()
完成的。并且int i
从0
循环到20
,从而创建了“动态名称”。
文件输出:
PhotoImage0.txt PhotoImage1.txt PhotoImage2.txt .. .. PhotoImage19.txt
#include <iostream>
#include <fstream>
#include <string>
#include <sstream>
using namespace std;
string IntToStr(int n)
{
stringstream result;
result << n;
return result.str();
}
int main ()
{
ofstream PhotoImageFile;
int Number_of_files=20;
string filename;
for (int i=0;i<Number_of_files;i++)
{
filename="c:\\PhotoImage" + IntToStr(i) +".txt";
cout<< filename << " \n";
PhotoImageFile.open(filename.c_str());
PhotoImageFile << filename<<" : Writing this to a file.\n";
PhotoImageFile.close();
}
return 0;
}