Προς το περιεχόμενο

Αρχεια C


alompar

Προτεινόμενες αναρτήσεις

Δημοσ.

Γεια σας παιδια ειμαι αρχαριος στα αρχεια!Σας δινω ενα κωδικα στον οποιο δεν καταλαβαινω γιατι δεν δουλευει και επισης πως χρησιμοποιειται το argv αντι για ενα αρχειο σε txt?

 

 

 

#include <stdio.h>

int main(int argc, char *argv[]) {

FILE *f; char c;

 

f = fopen(argv[1],"w");

if (f == NULL)

return(1);

do {

c = getchar();

fputc(c,f);

} while (c != '~');

fflush(f); fclose(f);

return (0);

}

 

 

 

Ευχαριστω πολυ για την βοηθεια :-)

Δημοσ.

>#include <stdio.h>

int main(int argc, char *argv[]) {
   FILE *f;
   char c;

   f = fopen(argv[1], "w");
   if (f == NULL){
       printf("error while opening the file...\n\n");
       return (1);
   }

   do {
       c = getchar();
       fputc(c, f);
   } while (c != '~');
   fclose(f);
   return (0);
}

 

Το argc και argv χρησιμοποιούνται όταν καλείς το πρόγραμμά σου από τη γραμμή εντολών για να μπορείς να διαχειρίζεσαι τις παραμέτρους που περνάς..

To argc είναι ο αριθμός των παραμέτρων που έχεις περάσει και το argv ειναι ένας πίνακας που κάθε του στοιχείο έχει και μία από τις παραμέτρους που έχεις περάσει.

 

Στο πρόγραμμά σου για να δουλέψει πρέπει στη γραμμή εντολών αφού πας στη διαδρομή που έχεις αποθηκεύσει το αρχείο να γράψεις το όνομα του προγράμματος μετά κενό και μετά το όνομα του αρχείου που θελεις να δημιουργήσεις για να περάσει ώς παράμετρος... δλδ

myprogramm testingtext.txt

Δημοσ.

ο πινακας argv ειναι ενας πινακας συμβολοσειρών που περνει τιμές οταν τρεχεις το προγραμμα σου. Δηλαδη αν γραψεις στο command line file.exe neoarxeio (οπου file.exe το ονομα του προγραμματος σου) το argv[1] θα παρει την τιμή neoarxeio, οποτε ειναι σαν να λες fopen("neoarxeio", "w");

 

Το προγραμμα σου νομιζω δουλευει σωστα :\

 

edit karabouzouk... με προλαβες :P

Δημοσ.

Eυχαριστω παιδια για τη βοηθεια!

Κατι αλλο να ρωτησω.Μηπως ξερετε πως γινεται να κανω debugging(gdb) αλλα παραλληλα να τρεξω και το αρχειο.δηλαδη το ./myprogram test.txt πως μπορω να το κανω debug ολο μαζι?

Δημοσ.

Θα τρέξεις κανονικά το gdb και όταν θα πατήσεις run για να τρέξει το πρόγραμμα δίπλα θα βάλεις το όνομα του αρχείου.

 

Δηλαδή:

>gcc -g lala.c -o lala

>gdb lala

και μετά:

r test.txt

 

Έτσι θα τρέξει με παράμετρο το αρχείο test.txt

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...