Haldol Δημοσ. 13 Ιανουαρίου 2011 Δημοσ. 13 Ιανουαρίου 2011 Καλησπέρα. Εχθές με ρώτησε ένας φίλος μου για κάποιον τρόπο με τον οποίο θα μπορούσε να μετατρέψει ένα αριθμητικό string (λ.χ. char string[] = "256") σε ακέραιο αριθμό. Η ιδέα μου ήταν να εξετάζει έναν προς έναν τους χαρακτήρες, και βάσει του ASCII code καθενός από αυτούς να παράγει τον αριθμό. Κατέληξα σε κάτι τέτοιο: (κώδικας) >#include <string.h> int StringToInt(char* Input) { int Output = 0, Factor = 1; int Length = strlen(Input); for (int i = Length; i > 0; i--) { Output += (Input[i-1] - 48) * Factor; Factor *= 10; } return Output; } Κανένα πρόβλημα μέχρι εδώ, η συνάρτησή μου κάνει ακριβώς αυτό που θέλω. Η ερώτησή μου όμως είναι αν α) υπάρχει «δεδομένος» τρόπος για να γίνει αυτό, ή έστω πιο αποδοτικός και β) εάν προσφέρεται έτοιμη λύση από κάποιο standard header της γλώσσας.
Timonkaipumpa Δημοσ. 13 Ιανουαρίου 2011 Δημοσ. 13 Ιανουαρίου 2011 Αυτό που θες να κάνεις λέγεται aplhanumeric to integer. Για δες τι κάνει η atoi (alpahnumerictointeger).
Haldol Δημοσ. 13 Ιανουαρίου 2011 Μέλος Δημοσ. 13 Ιανουαρίου 2011 Τελικά υπάρχει έτοιμη συνάρτηση, thanks.
Timonkaipumpa Δημοσ. 13 Ιανουαρίου 2011 Δημοσ. 13 Ιανουαρίου 2011 Τελικά υπάρχει έτοιμη συνάρτηση, thanks. Υπάρχουν και παραλλαγές αυτής... κάποιες όμως δεν υποστηρίζονται από το πρότυπο την ANSI C (εάν θυμάμαι καλά δεν υποστηρίζεται η atof ή η itoa... δεν θυμάμαι καλά...). Νομίζω ότι ένα search στο internet θα σε βοηθήσει πάρα πολύ.
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.