19. september 1999 - 20:30Der er
2 kommentarer og 1 løsning
fil håndtering udskift ord i fil!
hej Eksperter! Denne lille kodestump er fra et program jeg arbejder på i øjeblikket while(!samlign.eof()) { samlign >> ord; if(strcmp(ord,argv[3])==0 ) { cout <<"ordet "<<argv[3]<<" Findes i "<<argv[2]<<endl; } Hvis jeg nu vil udskifte/indsætte argv[3] string pointer i stedet for ord, hvad gør jeg så. Det må være noget med seekp &put ect. please help me Simon
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
Et hurtigt svar - der kommer nok et rigtig grundigt fra soepro lige om lidt;-)
Hvis du skal udskifte ordet, så er du nød til med din tell-pointer (tror jeg det er) holde styr på hvor i filen du er INDEN du indlæser ordet. For efter "samlign >> ord" peger pointeren efter ordet i filen og så skal du bare til at finde tilbage - og det er vanskelligere, end at holde styr på hvor du er inden ordet bliver indlæst.
Det er lidt problematisk bare at indsætte ordet 1) Hvis ordene er samme længde, så indsætter du bare der hvor det gamle ord begyndte (hvis du altså sørger for at holde styr på det med en variabel) 2) Hvis det nye ord er kortere kan du evt. erstatte det gamle ord, og så indsætte et par blanke tegn (men det er ikke sikkert, at det er tilfredsstillende - se næste punkt) 3) Hvis det nye ord er længere, så opstår problemet først for alvor (jeg har selv bakset lidt med det for nylig og løst problemet - jeg kan evt. sende programstumpen når jeg kommer hjem, hvis du er interesseret). Problemet er ligesom når du skriver dansk stil i hånden: man kan ikke bare tilføje, for så skriver du jo oveni det som følger efter. Det betyder så, at du faktisk er nødt til at flytte hele resten af filens indhold (ja, det er sandt).
hej Bjarke tak for dit svar, det var vist også sådan jeg fik problemet løst selv. Jeg brugte strlen(ord) - sted hvor indsætning skulle være
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.