Tablica plików, nazwy plików tekstowych

0

Witam.
Chciałbym utworzyć tablicę plików tekstowych

 ofstream rosnaco[12];

następnie w pętli otwierać plik (jeśli nie istnieje na dysku to go tworzyć) zapisywać do niego liczby, zamykać plik i otwierać następny w tablicy z indeksem większym o jeden. Wrzucę kawałek kodu:

void GenerujDane()
{
    int i=0, n=10000;
    string str;
    cout<<"Generowanie danych wejściowych. Moze zająć to minutkę.";

    ofstream rosnaco[12], malejaco[12], stale[12], a[12], roznie[12];

    for(int j=0; j<12; j++)
    {
         rosnaco[j].open("rosnaco" + j + ".txt")
        for(int x=1; x<=n; x++)
        {
            rosnaco[j]<<x<<endl;
        }
        if(n>=100000)
            n=n*10;
        else
            n=n+10000;
        rosnaco[j].close();
    }

    system("CLS");
} 

Napotkałem na problem.
Kompilator wyrzuca błędy, związane z błędem konwersji string do const wchar_t w linii zaraz po otwarciu pętli for.

Tak swoją drogą, jak zapisywać liczby do pliku, żeby nie oddzielało spacjami znaków w liczbie powyżej 1000 ? Tzn. jeśli zapisuję w ten sposób co na powyższym przykładzie to mam 998, 999, 1 000, 1 001, a chciałbym mieć 998, 999, 1000, 1001, żeby później łatwiej odczytywać te liczby.

0
ostringstream oss;

oss << "rosnaco" << j << ".txt";

rosnaco[j].open(oss.str().c_str());

Jeśli chodzi o drugie pytanie, zmiana locale powinna rozwiązać problem:

locale loc("C", locale::numeric);
...
rosnaco[j].open(...);
rosnaco[j].imbue(loc);

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0