C++ tworzenie plików o różych nazwach.

0

Witam

Chciałbym aby mój program tworzył pliki o nazwach wpis1, wpis2... Wiecie aby cyfra przy nazwie wpis zmieniała się. Jak to zrobić? Jak przerobić taki kod: fstream zapis("wpis.txt",ios::out|ios::app); ?

0
char str[32];
for(int i = 1; i < 10; ++i)
{
    sprintf(str, "wpis%d.txt", i);
    fstream zapis(str,ios::out|ios::app);
}
0
0DFh napisał(a):
char str[32];
for(int i = 1; i < 10; ++i)
{
    sprintf(str, "wpis%d.txt", i);
    fstream zapis(str,ios::out|ios::app);
}

A jak gdy używam strumieni?

1
for(int i=1;i<2000000;++i)
  {
    stringstream ss(ios::out);
    ss<<"wpis_"<<hex<<i<<".txt";    
    fstream zapis(ss.str().c_str(),ios::out|ios::app);
    zapis<<ss.str()<<ss.str()<<ss.str()<<ss.str()<<ss.str()<<ss.str()<<ss.str()<<ss.str()<<ss.str()<<ss.str()<<ss.str()<<ss.str()<<ss.str()<<ss.str()<<ss.str();
  }
0
Komptronic napisał(a):
0DFh napisał(a):
char str[32];
for(int i = 1; i < 10; ++i)
{
    sprintf(str, "wpis%d.txt", i);
    fstream zapis(str,ios::out|ios::app);
}

A jak gdy używam strumieni?

Przepraszam, ale ten kod u mnie nie tworzy żadnych plików.

0

Ten kod:

for(int i=1;i<2000000;++i)
  {
    stringstream ss(ios::in);
    ss<<"wpis_"<<hex<<i<<".txt";    
    fstream zapis(ss.str().c_str(),ios::out|ios::app);
    zapis<<ss.str()<<ss.str()<<ss.str()<<ss.str()<<ss.str()<<ss.str()<<ss.str()<<ss.str()<<ss.str()<<ss.str()<<ss.str()<<ss.str()<<ss.str()<<ss.str()<<ss.str();
  }

Nie wiem czemu, ale nie tworzy mi żadnych plików.

0
#include <iostream>
#include <cstdio>
#include <fstream>
#include <time.h>
#include <stdio.h>
#include <stdlib.h>
#include <sstream>
using namespace std;

int main()
{
    srand(time(0));
    int a=0;
    for(int i=1;i<5000;i++)
    {
        ofstream plik;
        ostringstream ss;
        ss << i;
        string str = ss.str();
        str += ".txt";
        plik.open(str.c_str());
    }
    getchar();
    cin.ignore();
    return 0;
}

Coś takiego?

0

istringstream ss;
lub
stringstream ss(ios::in);

0

Tak wygląda mój program.

#include <iostream>
#include <sstream>
#include <fstream>

using namespace std;

int main()
{
for(int i=1;i<2000000;++i)
  {
    stringstream ss(ios::in);
    ss<<"wpis_"<<hex<<i<<".txt";
    fstream zapis(ss.str().c_str(),ios::out|ios::app);
    zapis<<ss.str()<<ss.str()<<ss.str()<<ss.str()<<ss.str()<<ss.str()<<ss.str()<<ss.str()<<ss.str()<<ss.str()<<ss.str()<<ss.str()<<ss.str()<<ss.str()<<ss.str();
  }
    return 0;
}
0

Dziękuje bardzo, zmiana na stringstream ss(ios::out); pomogła, a teraz mam kolejny problem, jak w taki sam sposób wczytywać pliki?

Bo zamiana na stringstream ss(ios::in); i odczyt(ss.str().c_str(),ios::in); u mnie nie działa.

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