System(mkdir)

Συζητήσεις για την γλώσσα C και C++

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
tonik
Δημοσιεύσεις: 32
Εγγραφή: 17 Μάιος 2007 21:57

System(mkdir)

Δημοσίευση από tonik » 13 Νοέμ 2007 15:55

Γεια σας.
Έχω ένα πρόγραμμα στη C++ και εκτυπώνω τα αποτελέσματα που θελω με fout σε ένα αρχειο data.txt.

Αυτο που θελω να κανω ειναι να δημιουργείται ενας φάκελος και να αποθηκεύεται το data.txt στον φάκελο.
Αυτο το έκανα με την εντολη System("mkdir newFolder")
και ofstream fout ("newFolder/data.txt");

Ως εδω όλα καλα.Το πρόβλημα ειναι οτι εχω ενα for (i=01; i<=10; i++)
και θελω να φτιαχνει καθε φορα ενα φακελο και να αποθηκευεται εκει το data.txt.

δηλ:
newFolder1
newFolder2
newFolder3
.
.
.
newFolder4

Δοκιμασα το System("mkdir newFolder"<<i<<"\"")
αλλα παιρνω το λαθος "invalid operands of types const char[11] and int to binary"
Πάντως δεν μου φαίνεται σωστο αυτο που κάνω.

Μπορει καποιος να με βοηθήσει για το πως θα καταφερω τα παραπανω?

Ευχαριστω.

Άβαταρ μέλους
nirvana
Δημοσιεύσεις: 241
Εγγραφή: 01 Σεπ 2005 18:28
Τοποθεσία: Αγ. Παρασκευή

System(mkdir)

Δημοσίευση από nirvana » 13 Νοέμ 2007 16:55

Για δες αν θα σου πετυχει το παρακάτω..

Ενσωμάτωσε το <string.h>
και κανε
char *num = itoa(i);

και ετσι θα εχεις για i=3 num='3'

και μετα το:
"mkdir newFolder"<<num<<"\""

Ελπιζω να βοήθησα. ;)

tonik
Δημοσιεύσεις: 32
Εγγραφή: 17 Μάιος 2007 21:57

System(mkdir)

Δημοσίευση από tonik » 13 Νοέμ 2007 17:48

Η συναρτηση ειναι char* itoa (int, char*, int);
στα αλλα δυο ορισματα τι να βαλω;
Πάντως εσβησα τα το char* και int απο το stdlib και το προγραμμα κρασάρει.

tonik
Δημοσιεύσεις: 32
Εγγραφή: 17 Μάιος 2007 21:57

System(mkdir)

Δημοσίευση από tonik » 13 Νοέμ 2007 18:23

Εκανα το εξης:

char num[100];

for (int i=0; i<10; i++)
{
itoa(i,num,10);
cout<<num<<endl;

system("mkdir Folder"<<num<<"\"");
}
Ενω η εκτυπωση των αριθμων δουλευει για το mkdir εχω το ιδιο προβλημα με πριν

tonik
Δημοσιεύσεις: 32
Εγγραφή: 17 Μάιος 2007 21:57

System(mkdir)

Δημοσίευση από tonik » 14 Νοέμ 2007 00:30

Ευχαριστω για την απαντηση.Καταφερα να το λυσω τελικά με τον παρακατω κωδικα:
char num[100];

for (i=0; i<10; i++)
{
itoa(i,num,10);

string di ("mkdir Folder");

di=di + num;

system(di.c_str());
}

Απάντηση

Επιστροφή στο “C, C++”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης