Καθένας ξέρει πού μια καλή παράθυρα σταθερή ζωή λίστα

ψήφοι
-2

Προσπαθώ να ορίσετε μια έγκυρη τιμή για -1 .. Αλλά δεν μου αρέσει μαγικοί αριθμοί .. Όποιος ξέρει πού να βρει ένα σύνολο κοινών σταθερές. Δουλεύω σε VS6 (ish).

Προσπαθώ να διαβάσει ένα αρχείο από σε ένα δίκτυο, και χρειάζομαι μια κακή τιμή για το συνολικό μέγεθος του αρχείου, ώστε να μπορώ να ξέρω αν έχω έγκυρη πληροφορίες για αυτό .. 0 είναι ένα έγκυρο μέγεθος οπότε δεν μπορώ να το χρησιμοποιήσετε.

Harper Shelby χτυπήσει το καρφί στο κεφάλι .. Απλά μια μικρή αντίχειρα. Ανέφερε τις σταθερές win32 .. το οποίο είναι ακριβώς αυτό που σκεφτόμαστε .. Τώρα για να βρείτε ένα σύνδεσμο :)

Δημοσιεύθηκε 09/12/2008 στις 22:41
πηγή χρήστη
Σε άλλες γλώσσες...                            


8 απαντήσεις

ψήφοι
2

Αν -1 είναι μια μη έγκυρη τιμή για την τιμή που επιστρέφει στο σύστημά σας, θα πρέπει να καθορίσει εσωτερικά:

const int INVALID_FOO = -1

εκτός αν απαιτείται συμβατότητα C, στην οποία περίπτωση

#define INVALID_FOO -1

θα προτιμούνταν. Αν είναι ένα τυπικό πόρο MFC ή Windows, χρησιμοποιήστε INVALID_HANDLE ή ένα από τα άλλα Win32 καθορισμένες σταθερές.

Απαντήθηκε 09/12/2008 στις 22:46
πηγή χρήστη

ψήφοι
2

#define BAD_VALUE -1

EDIT: η αρχική ερώτηση δεν είχε κανένα πλαίσιο. Η αναθεωρημένη ερώτηση δείχνει θέλετε ένα μη έγκυρο μέγεθος του αρχείου και έτσι ψάχνουν για τις σταθερές win32. Κοιτάξτε windows.h Νομίζω ότι το σταθερό σας αναζητούν μπορεί να είναι σε windows.h ή ένα από τους υπο-περιλαμβάνει. grep τα παράθυρά σας περιλαμβάνει κατάλογο ;-)

Απαντήθηκε 09/12/2008 στις 22:46
πηγή χρήστη

ψήφοι
1

Αν θέλετε να χρησιμοποιήσετε σταθερές που χρησιμοποιούνται από WinApi, ελέγξτε τα αρχεία Winerror.h, WinUser.h και WinNT.h.

Απαντήθηκε 12/08/2010 στις 13:21
πηγή χρήστη

ψήφοι
1

Το πρώτο πράγμα είναι που πρέπει να χρησιμοποιείτε μια unsigned int για το μέγεθος του αρχείου ως το μέγεθος του αρχείου δεν είναι ποτέ αρνητική. Τώρα μη έγκυρο μέγεθος του αρχείου είναι συνήθως το int max, ώστε στην περίπτωση της χρήσης ενός 32 bit unsigned int θα ήταν 0xFFFFFFFF

δηλαδή

const unsigned int INVALID_FILESIZE = 0xFFFFFFFF;

Επίσης, αν αυτό είναι στα παράθυρα, windows.h ορίζει έγκυρο μέγεθος αρχείου όλα έτοιμα (INVALID_FILE_SIZE)

Απαντήθηκε 10/12/2008 στις 05:27
πηγή χρήστη

ψήφοι
1

Σε VS, Δημιουργήστε ένα νέο έργο εφαρμογών των Windows κονσόλας. Πηγαίνετε στο Ρυθμίσεις έργου και ενεργοποιήστε περιήγηση υποστήριξη. Δημιουργήστε ένα αρχείο ++, C και να το προσθέσετε στο έργο. Τύπος:

#include <windows.h>
void main(void) {}

στο αρχείο. Μεταγλώττιση του. Τώρα πληκτρολογήστε INVALID_FILE_SIZE στο αρχείο. Κάντε δεξί κλικ πάνω του και τον ορισμό goto της INVALID_FILE_SIZE. VS θα ανοίξει ένα από τα πολλά παράθυρα κεφαλίδα αρχεία γεμάτο καθορισμένες τιμές. Απολαμβάνω.

Απαντήθηκε 10/12/2008 στις 01:19
πηγή χρήστη

ψήφοι
1

Θέλετε να χρησιμοποιήσετε το δικό σας μαγικό αριθμό -1 μεταμφιέζεται ως μια σταθερή Windows. Αυτό είναι πολύ παραπλανητική.

Ας υποθέσουμε ότι τυχαίνει να γνωρίζω ότι INVALID_HANDLE είναι 0. Είναι OK για να προετοιμάσει τους δείκτες μου με INVALID_HANDLE;

char *myMessage = INVALID_HANDLE;

Πώς αυτή η απεργία σας;

Απαντήθηκε 10/12/2008 στις 00:46
πηγή χρήστη

ψήφοι
-1
If bytes_read < 0
    // error
EndIf
Απαντήθηκε 10/12/2008 στις 00:53
πηγή χρήστη

ψήφοι
-1

Είναι γενικά αποδεκτό το 0 και 1 (θετικές και αρνητικές) είναι ΟΚ για να χρησιμοποιήσετε άμεσα.

Στην πραγματικότητα, κατά πάσα πιθανότητα θα σας κάνει να κώδικα ακόμη μεγαλύτερη σύγχυση για να χρησιμοποιήσετε μια μεταβλητή αντ 'αυτού.

Ενημέρωση: Εντάξει, θα ενημερώνεται την ερώτησή σας αφού έγραψα την απάντησή μου. Εάν χρησιμοποιείτε το «-1» σε μια αριθμητική τρόπο, τότε απλά «-1» είναι μια χαρά. Αν επιστρέφουν έναν κωδικό σφάλματος (και ο κωδικός συμβαίνει ακριβώς να είναι -1), τότε θα πρέπει να χρησιμοποιήσετε ένα const.

 const int INVALID_VALUE = -1;
Απαντήθηκε 09/12/2008 στις 22:47
πηγή χρήστη

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more