jtsc21 Δημοσ. 21 Μαΐου 2008 Δημοσ. 21 Μαΐου 2008 γεια σας και παλι programmers εχω τις εξης απορριες πανω στην ανακατευθυνση στη C απο ενα αρχειο txt: 1.πως γινετε ανακατευθυνση στο dev C++? 2.εστω οτι ειμαστε σε command line σε LINUX(πχ Ubuntu) ακομα εστω οτι εχουμε ενα αρχειο πηγαιου κωδικα myprog.c το μεταγλωτιζουμε με gcc -o myprog myprog.c οπου και παραγεται το εκτελεσιμο myprog. εστω ακομα οτι σε αυτο το προγραμμα (myprog.c) εχουμε πινακα με struct δηλαδη κατι τετοιο struct foo{ int a; int b; int c; } typedef struct foo foo; και εχουμε ορισει ακομα foo pinakas[100] εστω οτι εχουμε και ενα αρχειο κειμενου data.txt το οποιο ειναι καπως ετσι a b c 1 3 3 4 4 5 4 6 9 7 5 4 5 2 5 5 1 7 3 7 8 3 8 1 . . . . . . . . . το ερωτημα ειναι το εξης: πως μπορω να αποδοσω με ανακατευθυνση στις μεταβλητες του προγραμματος τις τιμες που εχω ορισει στο data.txt???? (ειμαι σιγουρος δε γινετε να γραψω myprog < data.txt).... P.S. προσπαθησα να ειμαι οσο το δυνατον πιο κατανοητος... ευχαρισττω εκ των πρωτερων
jtsc21 Δημοσ. 21 Μαΐου 2008 Μέλος Δημοσ. 21 Μαΐου 2008 βασικα δε πολυκαταλαβαινω τι εννοεις...θα προσπαθησω να κανω λιγο πιο κατανοητο αυτο που θελω... λοιπον εχουμε ενα πινακα οπου καθε κουτακι του πινακα εχει 3 "υπο"κουτακια(a,b,c του struct).αυτο που ζηταω ειναι να αποδοθουν οι τιμες του data.txt στο αντιστοιχο κουτακι πχ εστω οτι στο data.txt εχω a bc 135 246 789 αυτο που θελω ουσιαστικα να γινει ειναι το εξης σχημα ---------- |1|3|5| ---------- |2|4|6| ---------- |7|8|9| ---------- αλλα αυτη η δουλεια θελω να γινει με ανακατευυνση
parsifal Δημοσ. 21 Μαΐου 2008 Δημοσ. 21 Μαΐου 2008 Δεν υπάρχει κάτι ιδιαίτερο που πρέπει να κάνεις σε αυτήν την περίπτωση. Απλά, γράφεις το πρόγραμμά σου σαν να περίμενες είσοδο από τον χρήστη μέσω του πληκτρολογίου: > /* mplampla */ int counter; char useless[2]; foo pinakas[100]; scanf("%s %s %s", useless, useless, useless); /* Gia na parakamf8ei h prwth grammh "a b c" */ for(counter = 0; counter < 100; counter++) scanf("%d %d %d", &(pinakas[counter].a), &(pinakas[counter]., &(pinakas[counter].c)); /* mplampla */ ...και το εκτελείς από τερματικό, ορίζοντας την ανακατεύθυνση εισόδου που θέλεις: > bash-3.2# a.out < data.txt
jtsc21 Δημοσ. 21 Μαΐου 2008 Μέλος Δημοσ. 21 Μαΐου 2008 Δεν υπάρχει κάτι ιδιαίτερο που πρέπει να κάνεις σε αυτήν την περίπτωση. Απλά, γράφεις το πρόγραμμά σου σαν να περίμενες είσοδο από τον χρήστη μέσω του πληκτρολογίου: > /* mplampla */ int counter; char useless[2]; foo pinakas[100]; scanf("%s %s %s", useless, useless, useless); /* Gia na parakamf8ei h prwth grammh "a b c" */ for(counter = 0; counter < 100; counter++) scanf("%d %d %d", &(pinakas[counter].a), &(pinakas[counter]., &(pinakas[counter].c)); /* mplampla */ ...και το εκτελείς από τερματικό, ορίζοντας την ανακατεύθυνση εισόδου που θέλεις: > bash-3.2# a.out < data.txt thanks...νομιζα οτι χρειαζοταν κατι ιδιαιτερο...μαλλον με μπερδεψε η στοιχηση... και παλι thanks
jtsc21 Δημοσ. 23 Μαΐου 2008 Μέλος Δημοσ. 23 Μαΐου 2008 ξερει καποιος πως κανουμε εισαγωγη με ανακατευθυνση στο dev C++? δηλαδη ποιο ειναι το αντιστοιχο prog < a.txt(command line) στο dev?
parsifal Δημοσ. 23 Μαΐου 2008 Δημοσ. 23 Μαΐου 2008 Κάπου στα μενού του Dev-C++ πρέπει να υπάρχει επιλογή για Program Arguments. Μπορείς όμως κάλλιστα να ανοίξεις μία γραμμή εντολών και να πλοηγηθείς (με την εντολή cd) στον κατάλογο όπου βρίσκεται το εκτελέσιμο που παρήγαγε το Dev-C++. Εκεί, δίνεις απλά την εντολή με τις παραμέτρους που θέλεις...
jtsc21 Δημοσ. 23 Μαΐου 2008 Μέλος Δημοσ. 23 Μαΐου 2008 Κάπου στα μενού του Dev-C++ πρέπει να υπάρχει επιλογή για Program Arguments. Μπορείς όμως κάλλιστα να ανοίξεις μία γραμμή εντολών και να πλοηγηθείς (με την εντολή cd) στον κατάλογο όπου βρίσκεται το εκτελέσιμο που παρήγαγε το Dev-C++. Εκεί, δίνεις απλά την εντολή με τις παραμέτρους που θέλεις... thanks man! δεν ηξερα οτι γινετε στο command line στο dos να δωσεις ανακατευθυνση οπως και στο terminal στο linux...thanks again!:-D:-D:-D:-D
Mike_ledis Δημοσ. 19 Νοεμβρίου 2009 Δημοσ. 19 Νοεμβρίου 2009 thanks man! δεν ηξερα οτι γινετε στο command line στο dos να δωσεις ανακατευθυνση οπως και στο terminal στο linux...thanks again!:-D:-D:-D:-D Ξέρει κάποιος αν μπορώ να χρησιμοποιήσω ανακατεύθυνση στα windows?
parsifal Δημοσ. 20 Νοεμβρίου 2009 Δημοσ. 20 Νοεμβρίου 2009 Το μηνυματάκι που μόλις έκανες quote αυτό λέει. Ότι μπορείς.
parsifal Δημοσ. 20 Νοεμβρίου 2009 Δημοσ. 20 Νοεμβρίου 2009 Ρωτάς αν μπορείς να χρησιμοποιήσεις ανακατεύθυνη στα Windows. Η απάντηση είναι: «Ναι, μπορείς». Αν θέλεις πιο συγκεκριμένη απάντηση, κάνε και πιο συγκεκριμένη την ερώτηση.
ippo00 Δημοσ. 21 Νοεμβρίου 2009 Δημοσ. 21 Νοεμβρίου 2009 βασικα "how are you gonna get through life?"
Mike_ledis Δημοσ. 8 Δεκεμβρίου 2009 Δημοσ. 8 Δεκεμβρίου 2009 Το μηνυματάκι που μόλις έκανες quote αυτό λέει. Ότι μπορείς. Αν μπορείς να μου το επεξηγήσεις λιγο παραπανω αυτο?
parsifal Δημοσ. 8 Δεκεμβρίου 2009 Δημοσ. 8 Δεκεμβρίου 2009 Να στο επεξηγήσω, όσο πιο αναλυτικά μπορώ: Το μέλος jtsc21 ρωτάει στο μήνυμα #6 αν μπορούμε να έχουμε ανακατεύθυνση εισόδου σε περιβάλλον Windows (όπως γίνεται σε περιβάλλον Linux), ώστε να τρέξει το πρόγραμμα που φτιάχνει παίρνοντας είσοδο δεδομένων από κάποιο έτοιμο αρχείο txt. Του έδωσα δύο εναλλακτικές λύσεις γι' αυτό που θέλει να κάνει: Μία από τα μενού του developing προγράμματος (DevC++) που χρησιμοποιεί και μία πιο απλή, να ανοίξει το Command Prompt (Γραμμή Εντολών) των Windows, να πλοηγηθεί στον υποκατάλογο όπου υπάρχει το exe του προγράμματος που έχει φτιάξει και να το τρέξει από εκεί, δίνοντας μέσω ανακατεύθυνσης ως είσοδο το txt. Το συμπέρασμα λοιπόν που βγαίνει και το επισημαίνει ο jtsc21 στο μήνυμα #8 είναι ότι: «Ναι, και σε περιβάλλον γραμμής εντολών των Windows μπορείς να χρησιμοποιήσεις ανακατεύθυνση, όπως ακριβώς και σε τερματικό Linux». Εσύ κάνεις Παράθεση του μηνύματος #8 και ρωτάς από κάτω κάτι του οποίου η απάντηση δίνεται ήδη στο μήνυμα που κάνεις Παράθεση. Εγώ απλώς επεσήμανα το παράδοξον του πράγματος!
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.