#1 23.04.11 00:57
[C++] открытие файла
как сделать следующее:
for ( size_t i = 5; i < 50; i = i + 5)
{
std::wstring tmpr("tmp_name");
// теперь к концу tmp_name надо прибавить значение счетчика i в виде текста (то есть tmpr будет равен tmp_name5 tmp_name10 ну и тд)
// теперь открываем файл с генерированным именем tmpr
std::wofstream of (tmpr, std::ios::out);
// ну че нить в него пишем и закрываем
};
в итоге должно получиться 10 файлов с именами:
tmp_name5 ... tmp_name45
как такое сделать или альтернатива любая
Offline
#2 23.04.11 02:44
Re: [C++] открытие файла
Так
Код: c++:
for ( size_t i = 5; i < 50; i = i + 5) { std::wostringstream wout; wout<<L"tmp_name"<<i; std::wofstream of (wout.str().c_str(), std::ios::out); of<<"Something was written"<<std::endl; of.close(); };
Или так
Код: c++:
for ( size_t i = 5; i < 50; i = i + 5) { std::wstring tmpr=L"tmp_name"; wchar_t u[5]; tmpr+=_itow(i, u, 10); std::wofstream of (tmpr.c_str(), std::ios::out); of<<"Something was written"<<std::endl; of.close(); };
Мне первый вариант нравится больше
Исправлено Revenger (23.04.11 02:46)
Offline
#4 30.04.11 20:52
Re: [C++] открытие файла
Код::
char filename [] = "1_matrix.xls";
static char f = '1';
filename[0] = f; f++;
FILE *fMATRIX=fopen(filename,"w");
//печать
for (int i=0; i<m; i++) {
for (int j=0; j<m; j++) {
fprintf(fMATRIX, "%lf\t%", mtr[i][j]);
}
fprintf(fMATRIX, "\n");
}
fclose(fMATRIX);Конечно, не по фен-шую, но работает)
Исправлено Mellon (30.04.11 20:53)
Offline
#6 01.05.11 00:59
Re: [C++] открытие файла
$up, есть. Специально не стал про неё писать. Ведь вариант с потоками красивее и безопаснее, не зря же на его основе boost::lexical_cast сделан.
Offline
#7 01.05.11 01:15
Re: [C++] открытие файла
Revenger, это понятно, всё зависит от библиотек, среды разработки и решаемой задачи.
Просто надо помнить о всех возможных вариантах реализации 8)
Если бы я писал на MFC то использовал бы CString.Format()
Исправлено $up (01.05.11 01:18)
Offline

