THMMY.gr

Ηλεκτρονικοί Υπολογιστές και Τεχνικά Θέματα => C / C++ / C# => Topic started by: varvoutis on May 19, 2011, 15:28:12 pm



Title: [ C / C++ / C# ] Mεταβίβαση αριθμητικού ορίσματος στη main() στον Xcode
Post by: varvoutis on May 19, 2011, 15:28:12 pm
Όπως δηλώνει και ο τίτλος θέλω να μεταβιβάσω ένα αριθμητικό όρισμα ( ακέραιο ) τη στιγμή της εκτέλεσης του προγράμματος.

Θέλω, δηλαδή, το μεταβιβασθέν όρισμα να αποθηκευτεί στη θέση argv[1].

Περισσότερες πληροφορίες σχετικά με τα ορίσματα που δέχεται η main() στο βιβλίο Μάθετε τη C++ από το μηδέν ( αυτό που μοιράστηκε στο μάθημα Δομημένος Προγραμματισμός στο 2ο εξάμηνο ) στις σελίδες 175-177 και εδώ (http://publications.gbdirect.co.uk/c_book/chapter10/arguments_to_main.html)

Πώς το κάνω όμως αυτό στον Xcode; Δοκίμασα να κάνω αυτό που λέει εδώ (http://www.meandmark.com/xcodetips.html) ( στο Supplying Launch Arguments for Command-Line Programs ) μάλλον όμως δεν το βάζω με τη σωστή μορφή ( πληκτρολογώ απλώς έναν ακέραιο, πχ 4 και μετά δεν τρέχει το πρόγραμμα )

Επισυνάπτω και ένα προγραμματάκι σε c που γίνεται χρήση του argv[1] ( είναι η φετινή 2η εργασία στην Αρχιτεκτονική Υπολογιστών γραμμένη σε c )

Λοιπόν, τι κάνω λάθος;  :-\



Title: Re: [ C / C++ / C# ] Mεταβίβαση αριθμητικού ορίσματος στη main() στον Xcode
Post by: arashi on May 19, 2011, 15:55:41 pm
Ο κωδικας που ανεβασες τρεχει η σου λεει segmentation?

γενικα πας σε command line γραμμη εντολων

και αφου κανεις compile τρεχεις

./ονομα εκτελεσιμου ΟΡΙΣΜΑ του ατοι με κενο ενδιαμεσα(enter)

./a.out 35(enter)

edit
(επισης αυτο το Xcode ειναι για μακ ετσι? δοκιμασε και σε καμια νησιδα με linux, εκει θα δουλεψει σιγουρα)


Title: Re: [ C / C++ / C# ] Mεταβίβαση αριθμητικού ορίσματος στη main() στον Xcode
Post by: varvoutis on May 19, 2011, 21:40:33 pm
Ο κωδικας που ανεβασες τρεχει η σου λεει segmentation?

γενικα πας σε command line γραμμη εντολων

και αφου κανεις compile τρεχεις

./ονομα εκτελεσιμου ΟΡΙΣΜΑ του ατοι με κενο ενδιαμεσα(enter)

./a.out 35(enter)

edit
(επισης αυτο το Xcode ειναι για μακ ετσι? δοκιμασε και σε καμια νησιδα με linux, εκει θα δουλεψει σιγουρα)

Κοίτα να δεις.

Όταν βάζω εγώ κατ' ευθείαν το όρισμα στην atoi ( δηλαδή πάω στον κώδικα και βάζω συγκεκριμένο όρισμα πχ "4" ) το δέχεται κανονικά και είναι όλα κομπλέ...

Όταν όμως το δίνω μέσω του Xcode, ε εκεί... Κάτι δεν πάει καλά τέλος πάντων και μου βγάζει segmentation fault.

Αυτό με τη γραμμή εντολών που λες το δοκίμασα ( Τα Mac έχουν την Terminal γι αυτό το λόγο ) και πάλι κάτι δεν πήγε καλά ( ίσως να θέλει κάποιο κωδικό μπροστά όπως το -o που το χρησιμοποιείς για να ονοματίσεις το εκτελέσίμο σου )

Γενικά τη δουλειά μου βρήκα τρόπο να την κάνω και ευχαριστώ για την απάντησή σου  ;)

Ξέρει όμως κάποιος χρήστης του Xcode πώς να το κάνω αυτό που θέλω με το συγκεκριμένο τρόπο που το θέλω;

Ευχαριστώ


Title: Re: [ C / C++ / C# ] Mεταβίβαση αριθμητικού ορίσματος στη main() στον Xcode
Post by: arashi on May 19, 2011, 21:45:28 pm
Βασικα αμα ειναι θεμα του Xcode γραφτο και εδω το πως το καταφερες

μπορει να το χρειαστει και κανεις αλλος  ;)


Title: Re: [ C / C++ / C# ] Mεταβίβαση αριθμητικού ορίσματος στη main() στον Xcode
Post by: varvoutis on May 19, 2011, 21:48:16 pm
Βασικα αμα ειναι θεμα του Xcode γραφτο και εδω το πως το καταφερες

μπορει να το χρειαστει και κανεις αλλος  ;)

Δεν το κανα έτσι όπως ήθελα! Έκανα μαμουνιά ( την οποία και περιγράφω πάνω )

Άμα ξέρει κανείς πώς γίνεται ας πει!

Δε με βλέπω να κοιμάμαι και 2ο βράδυ  :P


Title: deleted
Post by: BOBoMASTORAS on May 19, 2011, 23:09:51 pm
deleted


Title: Re: [ C / C++ / C# ] Mεταβίβαση αριθμητικού ορίσματος στη main() στον Xcode
Post by: varvoutis on May 19, 2011, 23:48:31 pm
Αυτό με το argc kai argv πώς δουλεύει ακριβώς;

Έχει επιλογές στον Xcode ( επισυνάπτω φωτο )

Αλλά δεν ξέρω πώς να τα γεμίσω. Το πλήθος το argc δεν εξαρτάται από το πλήθος των argv[]; Οπότε υποθέτω πως δε χρειάζεται να το ορίσω εγώ.

Δηλαδή πάντα το argc θα ισούται με το πλήθος των argv[]+1 ( το όνομα του προγράμματος )

Και η βοήθεια του Xcode δε βοηθάει και πολύ  ^seestars^

Θέλω να δω πώς πρέπει να γράψω στις επιλογές και δεν μπορώ να βρω κανα παράδειγμα 


Title: deleted
Post by: BOBoMASTORAS on May 20, 2011, 00:00:22 am
deleted


Title: Re: [ C / C++ / C# ] Mεταβίβαση αριθμητικού ορίσματος στη main() στον Xcode
Post by: varvoutis on May 20, 2011, 00:16:03 am
Thanks arashi, BOB.

Problem solved  ;)


Title: deleted
Post by: BOBoMASTORAS on May 20, 2011, 01:30:02 am
deleted


Title: Re: [ C / C++ / C# ] Mεταβίβαση αριθμητικού ορίσματος στη main() στον Xcode
Post by: arashi on May 20, 2011, 07:45:02 am
Σωστος ο BOB και κατατοπιστικοτατος.

Η atoi θεωρειται "παληα" πλεον, οντως.

Γενικα δωσε βαση, ειναι απο τα πολυ χρησιμα features της C


Title: deleted
Post by: BOBoMASTORAS on May 20, 2011, 20:42:52 pm
deleted