View Single Post
m0b
m0b's Avatar
DonorAdministrator
Siden du spør, så kan jeg vel alltids slenge ut det jeg umiddelbart reagerer på i denne koden. Først og framst vil tekst kun inneholde 10 byte før du får et overflow, her bør du heller kanskje tenke på å allokere dynamisk minne.

Variablene fil og pnavn assigner du med verdier fra argv-arrayet FØR du sjekker om antall argumenter er korrekte. Hva tror du skjer med applikiasjonet ditt hvis du skulle finne på å gi et feil antall argumenter? Du vil trolig få segfault idet du prøver å aksessere et index i argv som ikke eksisterer.

Videre kan du like gjerne gjøre assignment og sjekk i samme slengen.

Kode

com = fopen( fil, "r" );
if( !com )
kan like greit omskrives til

Kode

if( 0 != (com=fopen( fil, "r")) )
Du kan også benytte deg av feof for å sjekke om du har nådd EOF, kan være greit. I tillegg kanskje bytte ut int com med en FILE peker? NEst siste linje i koden trenger jeg vel knapt engang kommentere?

Det er en hel del måter å gjøre dette på, men jeg vil som sagt bare spytte ut det jeg umiddelbart ser av koden du har skrevet her. Formatering bør du også ta deg selv i nakken på.