使用变量在C ++中创建.txt文件

时间:2015-07-25 17:42:27

标签: c++ variables text char

所以我正在设计一个游戏,用文本文件存储和读取数据。但我需要能够以重复的方式执行此操作,因此文本文件的名称在程序上需要针对每个文本文件的名称不同。我认为使用变量作为名称可以解决这个问题,但我很难做到这一点并让编译器使用它。 这是我当前的代码,将'hello'写入名为'test.txt'的文本文件:

ofstream myfile; myfile.open("test.txt"); myfile << "hello"; myfile.close();

现在,我可以使用单个char *指针或char数组缓冲区替换“test.txt”,但我需要将文件名与.txt扩展名分开。 我的想法是以某种方式将char *变量组合起来用于名称参考(例如galaxy,star,planet等),加上一个数值(必须是一个大数字,可能是double或float),加上“.txt”文字扩展名。这将是一个与myfile.open兼容的char指针或数组。有任何想法吗?只要我得到相同的最终结果,我愿意改变这个过程。

1 个答案:

答案 0 :(得分:1)

您的文件名应考虑string而不是char*,因为C ++ 11允许这两种类型:

string myfilename="test"; 
myfile.open(myfilename+".txt");
myfile << "hello";
myfile.close();

要创建更复杂的文件名,您可以考虑使用stringstreams:您可以使用通常的输出来复制和格式化文件名,并将其转换为字符串。

stringstream nn;
int counter=0; 
nn<<myfilename<<counter<<".txt";
myfile.open(nn.str());
...