2017-01-25 5 views
-3

Мне нужно открыть неопределенное количество файлов с потоком для ввода. Имена файлов должны иметь формат plot1.xpm, plot2.xpm, plot3.xpm, .... Программа выглядит так: Я не знаю, что мне помещать в звезды.C++ открыть несколько потоков в цикле

for(m = 0; m < spf; m++){ 
    //some calculations on arr[] 
    ofstream output(???); 
    for(x = 0; x < n; x++){ 
     for(y = 0; y < n; y++){ 
      if (arr[x*n + y] == 0) 
       output<<0; 
      else output<<1; 
     } 
     output<<'\n'; 
     output.close(); 
    } 
+1

Вы спрашиваете, как превратить число в строку ?! –

+0

Любой способ сделать эту работу будет хорошо. Я никогда не работал со струнами. – Alireza

+0

'std :: outstream output (« plot »+ std :: to_string (m) +« .xpm »)' должен работать там. требует C++ 11 и выше. – WhiZTiM

ответ

1

Использование to_string:

std::string filename = "plot" + std::to_string(m) + ".xpm"; 
std::ofstream output(filename.c_str()); 

Если шаблон является более сложным вы можете также использовать std::stringstream:

std::stringstream filename_stream; 
// use "operator<<" on stream to plug in parts of the file name 
filename_stream << "plot" << m << ".xpm"; 
std::string filename = filename_stream.str(); 
std::ofstream output(filename.c_str()); 
Смежные вопросы