Stergere date dintr-un fisier *.ini si/sau *.txt

Intrebari despre programarea cu VC++ incluzand mediul de dezvoltare, instalare, setari, debugger, compilator, linker si documentatie.
Post Reply
User avatar
Popa Alin
Membru
Membru
Posts: 52
Joined: 30 May 2008, 11:00
Judet: Timiş
Location: Timisoara

Stergere date dintr-un fisier *.ini si/sau *.txt

Post by Popa Alin » 23 Jul 2008, 18:24

Salutare,

Daca am un fisier *.ini sau *.txt cum pot sa sterg din el anumite informatii? Sau o anumita linie (toata linia)?

Exista ceva mai la indemana, ca eu am facut o metoda dar total neprofesionala, parerea mea. Adica am citit tot continutul fisierului intrun buffer apoi din buffer sterg informatia care o doresc dupa care rescriu fisierul. Stiu ca radeti cand cititi, dar nu am gasit (sau nu am cautat indeajuns ori unde trebuie) nici o metoda MFC care sa faca asta in locul meu :((

Daca exista ceva mai util va rog da-ti un semn.

Mersic.

P.S. La examen un student ia un bilet - nu stie. Ia altul - iarasi nu stie.
Al treilea - de asemenea...Si asa al patrulea, al cincilea...
Profesorul il opreste si ii da nota "5". Ceilalti studenti se
revolta:
- Pentru ce?
- Cum pentru ce? Dupa cum cauta, inseamna ca stie ceva.....


Great minds disscuss ideas, average minds disscuss events, small minds disscuss people.

User avatar
Ovidiu Cucu
Fondator
Fondator
Posts: 3778
Joined: 11 Jul 2007, 16:10
Judet: Iaşi
Location: Iasi
Contact:

Re: Stergere date dintr-un fisier *.ini si/sau *.txt

Post by Ovidiu Cucu » 23 Jul 2008, 22:22

Popa Alin wrote:Daca am un fisier *.ini sau *.txt cum pot sa sterg din el anumite informatii? Sau o anumita linie (toata linia)?

Exista ceva mai la indemana, ca eu am facut o metoda dar total neprofesionala, parerea mea. Adica am citit tot continutul fisierului intrun buffer apoi din buffer sterg informatia care o doresc dupa care rescriu fisierul. Stiu ca radeti cand cititi, dar nu am gasit (sau nu am cautat indeajuns ori unde trebuie) nici o metoda MFC care sa faca asta in locul meu :((

Daca exista ceva mai util va rog da-ti un semn.
Nu radem.
Daca vrei sa "stergi" ceva dintr-un anume fisier o metoda f.f. profesionala ("parerea mea" ;)), e sa ctesti continutul intr-un buffer, sa-i elimini partea care vrei s-o stergi, apoi sa scrii ce ramane la loc.
Daca ne referim ceva "mai util" in cazul fisierelor .ini.... da, exista.
Fisierele .ini (si functiile corespunzatoare) au fost pastrate pentru compatibilitate cu aplicatiile de pe vremea cand programa bunica aplicatii Win16.
Mai nou, pentru acelasi scop, folosesti mult mai eficient si elegant functii care scriu/citesc/sterg in "registry": vezi functiile API ]RegXXX.]

Viorel
Microsoft MVP
Microsoft MVP
Posts: 292
Joined: 13 Jul 2007, 12:26

Re: Stergere date dintr-un fisier *.ini si/sau *.txt

Post by Viorel » 24 Jul 2008, 08:56

O linie de date dintr-un fisier INI se şterge cu ajutorul funcţiei WritePrivateProfileString dacă cel de-al treilea parametru este nul. O secţiune întreagă poate fi ştearsă cu ajutorul funcţiei WritePrivateProfileSection. Comentariile nu pot fi şterse uşor.

Dragos Cojocari
Membru++
Membru++
Posts: 789
Joined: 11 Jul 2007, 14:11

Re: Stergere date dintr-un fisier *.ini si/sau *.txt

Post by Dragos Cojocari » 24 Jul 2008, 10:00

Ovidiu Cucu wrote: Nu radem.
Daca vrei sa "stergi" ceva dintr-un anume fisier o metoda f.f. profesionala ("parerea mea" ;)), e sa ctesti continutul intr-un buffer, sa-i elimini partea care vrei s-o stergi, apoi sa scrii ce ramane la loc.
Intr-adevar nu radem. In mod ciudat in 40+ de ani de IT nu s-a gasit o modalitate de a imbunatati accesul la continutul fisierelor ( cel putin pe platformele pe care am lucrat eu).

Solutia , putin modificata e sa citesti in "bucati" fisierul sursa, "bucati" pe care le scrii imediat in alt fisier, cu exceptia bucatii pe care vrei sa o stergi. In cazul fisierelor ini nu ea sa de relevant deoarece acestea sunt relativ mici dar pe alte tipuri de fisiere e mai sigura abordarea pe bucati..

User avatar
Popa Alin
Membru
Membru
Posts: 52
Joined: 30 May 2008, 11:00
Judet: Timiş
Location: Timisoara

Re: Stergere date dintr-un fisier *.ini si/sau *.txt

Post by Popa Alin » 25 Jul 2008, 11:24

Multumesc fain la toata lumea. Am rezolvat problema.
Great minds disscuss ideas, average minds disscuss events, small minds disscuss people.

User avatar
Ovidiu Cucu
Fondator
Fondator
Posts: 3778
Joined: 11 Jul 2007, 16:10
Judet: Iaşi
Location: Iasi
Contact:

Re: Stergere date dintr-un fisier *.ini si/sau *.txt

Post by Ovidiu Cucu » 26 Jul 2008, 07:29

Dragos Cojocari wrote:In mod ciudat in 40+ de ani de IT nu s-a gasit o modalitate de a imbunatati accesul la continutul fisierelor ( cel putin pe platformele pe care am lucrat eu).
Cel putin, da...
Despre accesul la fisiere am invatat cativa ani buni (cu mai putin de 40 de ani in urma). Acces secvential, secvential indexat, random (direct), etc. super-"inbunatatit", mergandu-se pana la nivel de hardware, despre care s-au scris zeci de carti.
Asta la Cobol, Fortran si Assiris.
Platforma? Batranul Felix C XXX :)

Post Reply