大约有 50 个文件需要在我的程序中打开以供阅读,我将所有文件从 1.txt 重命名为 50.txt 希望我可以通过递增文件编号的循环传递文件名,但我没有不知道如何/不认为可以将整数传递给 char,或者是否有更好的方法来解决我的情况。
char* filename = "";
for(int i =0; i < 50; i++)
{
if(i == 0){filename = "0.txt";}
if(i == 1){filename = "1.txt";} // ..
int num = 0, theinteger = 0;
ifstream in(filename, ios::binary);
unsigned char c;
while( in.read((char *)&c, 1) )
{
in >> theinteger;
sca.chac[num]=theinteger;
num++;
}
}
return 0;
最佳答案
有一种相对简单的方法 - 在 C 中,使用 sprintf
函数,像这样:
char filename[100];
sprintf(filename, "%d.txt", i);
在 C++ 中,使用 ostringstream
:
ostringstream oss;
oss << i << ".txt";
关于c++ - 通过迭代打开文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11342336/