Ifstream:使用变量

时间:2017-03-18 14:01:48

标签: c++ variables directory ifstream

编码时,我意识到我不知道如何打开一个位于我想通过变量指定的目录中的文件。我在互联网上到处看都有点但我没有成功......

基本上,我有一个名为" 2014_09_01.txt "的文件。位于" Data / 2014/09 "。在我的代码中,我指定文件的名称(它工作正常!):

int year = 2014, month = 9, day = 1;
char filename [256];
sprintf(filename,"%d_%02d_%02d.txt", year, month, day);

但是,我想要做的是将此文件放在其实际目录中。以下代码是错误的,但这是我正在谈论的想法:

input.open("/Data/%d/%02d/%s",year,month,filename);

有没有简单的方法来做这样的事情?这似乎微不足道,但我无法找到任何正确的方法。

非常感谢:)

1 个答案:

答案 0 :(得分:0)

你试过了吗?

char filename[256];
sprintf(filename, "/Data/%d/%02d/%d_%02d_%02d.txt", year, month, year, month, day);

input.open(filename);

...或者可能将文件路径生成方法包装在函数中 - 模块化

void getFilePath(char* outFileName, int year, int month, int day)
{
   sprintf(outFileName, "/Data/%d/%02d/%d_%02d_%02d.txt", year, month, year, month, day);
}