gpt4 book ai didi

C++顺序读取多个输入文件

转载 作者:太空宇宙 更新时间:2023-11-04 04:46:33 24 4
gpt4 key购买 nike

我有 47 个不同的文件:

  • 001_template.dat
  • ...
  • 047_template.dat

在名为 /data 的目录中。我需要将这些模板文件中的每一个与目录中的三个不同查询文件进行比较。这些被命名为:

  • 001_AU01_query.dat
  • 001_AU12_query.dat
  • 001_AU17_query.dat。

我知道如何让所有这些运行起来,但我必须将这 6 行代码再剪切和粘贴 46 次,程序会变得很长而且很困惑。

是否有循环遍历这些文件的好方法?可能是循环遍历模板文件,然后对每个模板执行三个查询?我显然已经定义了一个相似函数和一个排序函数,还有 inputFile。这是我要转换的代码:(不是家庭作业,这是我一直在从事的面部表情识别项目)

int main()
{
vector<float> temp01;
vector<float> temp12;
vector<float> temp17;

temp01 = similar(inputFile("data/001_AU01_query.dat"), inputFile("data/001_template.dat"));
sortAndOutput(temp01);
temp12 = similar(inputFile("data/001_AU12_query.dat"), inputFile("data/001_template.dat"));
sortAndOutput(temp12);
temp17 = similar(inputFile("data/001_AU17_query.dat"), inputFile("data/001_template.dat"));
sortAndOutput(temp17);

}

最佳答案

然后我会在循环中使用 sprintf 创建文件名:

char data[100];
char template[100];
char* datas[3] = {"%3d_AU01_query.dat", "%3d_AU12_query.dat", "%3d_AU17_query.dat"};
for(i=0; i<47; i++){
for{j=0; j<3; j++){
sprintf(template, "%03d_template.dat", i); // create the name of the template 1-47
sprintf(data, datas[j], i);
compare(template, data);
}
}

我认为这应该会按预期工作。

关于C++顺序读取多个输入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20294195/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com