27. februar 2008 - 15:40Der er
11 kommentarer og 1 løsning
string i C, håndtering af bla \0 mm
Mit ønske er at åbne et par filer fra et C program.
Til det ønsker jeg at benytte en fil som er navngivet ud fra filen som jeg åbner (navngives ud fra argv[1]). En anden fil skal blot være et hardkodet navn i princippet "fil2.txt" Men mit program fejler når jeg ønsker at åbne med det hardkodet navn. Jeg benytter denne kommando til at åbne filen:
if (samlet_output_file_ptr = fopen( output_name, "w" ))
Jeg har på fornemmelsen at min fejl er hvordan jeg behandler min streng på. Jeg har med succes åbnet flere filer ud fra navnet på min input fil, men jeg ønsker at kunne navngive den ene output fil med et fast navn (f.eks fil2.txt)
Håber du kan hjælpe mig, nu har det drillet mig længe nok...
PS Dette spørgsmål minder lidt om et tidligere jeg ikke har fået svar på.
Har jeg opfattet det rigtigt. Du har et program skrevet i C. Lad os kalde den "program". Du laver et kald til programmet ala "./program fil2.txt". I "program" har du så din sætning "if (samlet_output_file_ptr = fopen( output_name, "w" ))", hvor output_name er defineret på en eller anden måde? Kan vi få lidt kode?
Jeg har lavet et mere simpelt eksempel både for at kunne vise koden her på eksperten men også for at give mig selv et større overblik over hvad der går galt. Det der går galt er at jeg kun får åbnet mine filer aa.txt og aa__out.txt men min fil der har hardkodet navn samlet.txt bliver ikke åbnet/skabt. Denne kode er vist herunder.
Jeg har lige konstateret at koden virker når jeg kører programmet fra en DOS-promt. Så får jeg både min aa__.txt og min samlet.txt fil lavet.
Hvis jeg derimod kører programmet fra windows ved at trække og slippe min input fil (aa.txt) oven i ovenstående program exe fil, så får jeg ikke genereret min samlet.txt fil.
Jeg har muligvis ikke læst det, men mener da at huske at jeg har lavet noget tilsvarende tidligere. Hvis jeg vælger at bruge argv[1] har jeg da med held kunne hente filnavn ud på min input fil (mener jeg da). Men du (Arne) gør mig helt sikkert usikker på dette...
Lukker spørgsmålet, løsning er ikke fundet. Måske kan det ikke løses måske kan det....?
Pt har jeg lavet en work-around som jeg kan leve med, måske tager jeg spørgsmålet op igen på et senere tidspunkt.
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.
Kæmpe prisstigninger hos VMware sender danske kunder i armene på AWS: "Prisreguleringer er noget, der trigger kunder til at træffe beslutninger," siger AWS