Che Posted January 2, 2015 Report Posted January 2, 2015 Vreau sa creez un fisier intr-un subdirector. Daca subdirectorul nu exista atunci acesta sa fie creat.Eu am facut asa:if (myfile.is_open()) { ofstream secondfile; secondfile.open("new/second.txt"); //... some code; }Nu merge. Eu credeam ca daca fisierul nu este, il creeaza. Daca directorul nu este, iarasi il creaza. Se pare ca nu este asa.Programul de mai sus creeaza fisierul DOAR daca exista directorul deja creat, altfel nu se intampla nimic.Cum sa fac sa fie in felul urmator: daca directorul si/sau subdirectorul nu exista atunci sa-l/sa le creeze si apoi sa faca si fisierul ?Multumesc !PS: Stiu ca intreabarea pare simplu dar nu am reusit sa gasesc pe net. Eu credeam ca problema e la cum denumesti calea catre fisier si am incercat si cu dir/fisier.txt si /dir/fisier.txt si \dir\fisier.txt si \\dir\\fisier.txt s.a.m.d. Dupa ce am incercat toate combinatiile posibile am ajuns la concluzia ca functia e de vina. Quote
H3xoR Posted January 2, 2015 Report Posted January 2, 2015 Vreau sa creez un fisier intr-un subdirector. Daca subdirectorul nu exista atunci acesta sa fie creat.Eu am facut asa:if (myfile.is_open()) { ofstream secondfile; secondfile.open("new/second.txt"); //... some code; }Nu merge. Eu credeam ca daca fisierul nu este, il creeaza. Daca directorul nu este, iarasi il creaza. Se pare ca nu este asa.Programul de mai sus creeaza fisierul DOAR daca exista directorul deja creat, altfel nu se intampla nimic.Cum sa fac sa fie in felul urmator: daca directorul si/sau subdirectorul nu exista atunci sa-l/sa le creeze si apoi sa faca si fisierul ?Multumesc !PS: Stiu ca intreabarea pare simplu dar nu am reusit sa gasesc pe net. Eu credeam ca problema e la cum denumesti calea catre fisier si am incercat si cu dir/fisier.txt si /dir/fisier.txt si \dir\fisier.txt si \\dir\\fisier.txt s.a.m.d. Dupa ce am incercat toate combinatiile posibile am ajuns la concluzia ca functia e de vina. Chiar ai c?utat pe net?Primul link g?sit a fost ?sta: c++ - Create a Directory if it doesn't exist - Stack Overflow ?i ghici ce... Quote
wikedx Posted January 2, 2015 Report Posted January 2, 2015 (edited) #include <QFile>Pentru a verifica daca directorul exista::QDir("Folder").exists();Pentru a creea un director:QDir().mkdir("MyFolder"); Edited January 2, 2015 by wikedx Quote
phreak Posted January 2, 2015 Report Posted January 2, 2015 Ai mai multe optiuni : folosesti o librarie cross platform ca QT / boost , folosesti libraria nativa ( cod mult in C si merge doar pe OS-ul respectiv ) sau cea mai simpla : system("mkdir new") Quote
Che Posted January 2, 2015 Author Report Posted January 2, 2015 @H3xoRAm cautat dar nu stiu cum de nu am dat de linkul ala.Nu vreau sa folosesc functii gen mkdir sau librarii sau vreun framework. Vroiam sa fac totul mult mai simplu, fara vreo functie speciala. Peste mkdir am dat si eu dar am zis ca poate e ceva mai simplu, poate ceva de genul ofstream file("myfile.txt" |MAKE_DIR_IF_NOT_THERE) sau ceva de genul ca sa nu mai fac alta functie.Oricum, multumesc pentru ajutor. Pana la urma am sa fac cu CreateDirectory. Quote