Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Datein mit fortlaufenden Namen erstellen

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
01.10.2005, 00:12 Uhr
Octron



Hi leutz,

also, ich glaube hier im Forum mal nen Post zu meinem Problem gesehen zu haben, wenn einer weiß wo dann bitte ich um den Link.

ICH HABE DIESEN NICHT GEFUNDEN!

ich will ein Prog schreiben!
Welches eine vom Benutzer bestimmte Anzahl von Datein erstellt, Diese Datein sollen nummeriert fortlaufend Datei_1, Datei_2 usw. heißen
wie kriege ich das hin?

ich habe zwar schon einen Quellcode der funktionieren könnte aber bei dem bräuchte ich eine Pointer oder sowas und das funzt net.

thx 4 help
--
Get nicht gibs nicht!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
01.10.2005, 01:14 Uhr
imhotep
followed the white rabbit


Eine Zählschleife.


C++:
#include <iostream>
#include <string>
#include <sstream>
#include <fstream>
using namespace std;

/*  */
  string dateiname;
  int anzahl;
/* dateiname und anzahl ermitteln */
  ostringstream sdatei(dateiname, ios::ate);
  ofstream odatei;
  for (int i=1; i <= anzahl; i++){
    sdatei << i;
    sdatei.seekp(dateiname.size() , ios::beg); // setz Pointer auf richtige Position zurück
    odatei.open(sdatei.str().c_str()); //erstellt Datei, wenn diese nicht existiert
    odatei.close(); //Datei gleich wieder schließen
  }

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
01.10.2005, 09:30 Uhr
~123
Gast


...oder arbeite in VC++ mit CreateFile/CloseHandle bzw. fopen/fclose; den Dateinamen bildest du dann wieder dynamisch mit einer Zählschleife z.B.


C++:
char   szFileName[MAX_PATH];
HANDLE hFile;
for (int i=0; i<1000; ++i)
{
   sprintf (szFileName, "Datei%03i.txt", i);
   if ((handle = CreateFile (...)) != NULL)
   {
      ...
      ...
      CloseHandle (handle);
   }
}



Erstellt folgende 1000 Dateien:

Datei000.txt
Datei001.txt
...
Datei010.txt
...
Datei999.txt
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
01.10.2005, 13:27 Uhr
Octron



jo danke werd ich mal testen!

Das war mein Code wönnte vllt auch funzen wenn ich irgendwie auf i verweisen könnte.

das isser net schön aber selten:



C++:
#include <iostream>
#include <io.h>
#include <sys/stat.h>
using namespace std;

int main()
{
    int zahl;
    
    cout<<"Zahl eingeben! ";
    cin>> zahl;

    for(int i=1; i=zahl; i++)
    {
    _creat("D:\\Datei_ "<< i <<, S_IWRITE)
    }

return 0;
}


--
Get nicht gibs nicht!

Dieser Post wurde am 01.10.2005 um 18:27 Uhr von FloSoft editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
01.10.2005, 23:37 Uhr
Hans
Library Walker
(Operator)



Zitat von Octron:

das isser net schön aber selten:

C++:
    for(int i=1; i=zahl; i++)



Und diese Zeile ist leider Fehlerhaft.
Das ist 'ne Endlosschleife, denn i=zahl ist eine Zuweisung, die ist immer wahr. D.h. deine Abbruchbedingung tritt nie ein. Richtig wäre es z.B. so:

C++:
    for(int i=1; i<=zahl; i++) // Den "kleiner als" Operator < dazu geschrieben



Hans
--
Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
02.10.2005, 01:00 Uhr
Octron



@ Hans

kannst du anhand meines Codes sehen wie ich das lösen wollte, kann man das mit nem Pointer oder so irgendwie lösen?????
--
Get nicht gibs nicht!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
02.10.2005, 01:15 Uhr
Octron



@ Hans

verstehe nicht wieso endlosschleife?

angenommen i=10
wenn i dann bei 11 wäre das würde das doch gar nicht mehr gleich sein und die funtion wäre beendet oder wat?
--
Get nicht gibs nicht!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
02.10.2005, 01:36 Uhr
Hans
Library Walker
(Operator)


Hi,

weil Du in Deinem Code das Zeichen < vergessen hast. - Lies meinen letzten Beitrag noch mal genauer.

Zum Beitrag davor: Der Ansatz ist ok.

Hans
--
Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
02.10.2005, 02:57 Uhr
Octron



Also ich habe mal den Code von Imhotep benutzt und als dateiname "Datei.txt" genommen


C++:
#include <iostream>
#include <string>
#include <sstream>
#include <fstream>
using namespace std;

int main()
{
    string dateiname = "Datei.txt";
    int anzahl;

    cout<<"anzahl: ";
    cin >>anzahl;

  ostringstream sdatei(dateiname, ios::ate);
  ofstream odatei;
  for (int i=1; i <= anzahl; i++)
  {
    sdatei << i;
    sdatei.seekp(dateiname.size() , ios::beg);
    odatei.open(sdatei.str().c_str());
    odatei.close();    
  }

return 0;
}



Warum die Datei mit diesen Namen erstellt???

1atei.txt
1atei.txt2
1atei.txt3
--
Get nicht gibs nicht!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
02.10.2005, 14:26 Uhr
imhotep
followed the white rabbit



C++:
#include <iostream>
#include <string>
#include <sstream>
#include <fstream>
using namespace std;

int main()
{
  string dateiname = "Datei";
  string dateiendung = ".txt";
  int anzahl;

  cout<<"anzahl: ";
  cin >> anzahl;

  ostringstream sdatei(dateiname, ios::ate);
  ofstream odatei;
  for (int i=1; i <= anzahl; i++)
  {
    sdatei << i << dateiendung;
    cout << sdatei.str() << endl;
    odatei.open(sdatei.str().c_str());
    odatei.close();    
    sdatei.seekp(dateiname.size() , ios::beg);
  }
  return 0;
}



Das sollte gehen, bei mir gehts gut
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: