manolis940 Δημοσ. 23 Ιουλίου 2022 Δημοσ. 23 Ιουλίου 2022 Είπα μετά από καιρό να φτιάξω ένα πρόγραμμα στη C για να με βοηθήσει στην μετονομασία μιας μάζας αρχείων PDF που θέλω στα windows αλλά όταν κάνω compile και πάω να εκτελέσω το αρχείο μου εμφανίζει στο cmd "The specified executable is not a valid application for this OS platform" Ο κώδικας του προγράμματος (foo.c): #include <stdio.h> #include <stdlib.h> #include <dirent.h> #include <string.h> char* substr(const char *src, int m, int n) { // get the length of the destination string int len = n - m; // allocate (len + 1) chars for destination (+1 for extra null character) char *dest = (char*)malloc(sizeof(char) * (len + 1)); // extracts characters between m'th and n'th index from source string // and copy them into the destination string for (int i = m; i < n && (*(src + i) != '\0'); i++) { *dest = *(src + i); dest++; } // null-terminate the destination string *dest = '\0'; // return the destination string return dest - len; } int main(void) { DIR *d; struct dirent *dir; d = opendir("."); if (d) { while ((dir = readdir(d)) != NULL) { char curfile[50]; char newName[50]; strcpy(curfile,dir->d_name); if(strcmp(substr(curfile,0,9),"Apospasma")==0){ remove(curfile); } else if(strcmp(substr(curfile,0,11),"2_Apospasma")==0){ sprintf(newName,"%s Apospasma.pdf",substr(curfile,11,strlen(curfile)-4)); rename(curfile,newName); } else if(strcmp(substr(curfile,0,2),"KD")==0){ sprintf(newName,"%s KD.pdf",substr(curfile,2,strlen(curfile)-4)); rename(curfile,newName); } else if(strcmp(substr(curfile,0,12),"DeclReceipt_")==0){ sprintf(newName,"%s Apodixsi.pdf",substr(curfile,12,strlen(curfile)-4)); rename(curfile,newName); } else{ } } closedir(d); } return(0); } cmd: PS C:\Users\Manolis\Desktop> gcc -c .\foo.c -o bar.exe PS C:\Users\Manolis\Desktop> .\bar.exe Program 'bar.exe' failed to run: The specified executable is not a valid application for this OS platform.At line:1 cha r:1 + .\bar.exe + ~~~~~~~~~. At line:1 char:1 + .\bar.exe + ~~~~~~~~~ + CategoryInfo : ResourceUnavailable: (:) [], ApplicationFailedException + FullyQualifiedErrorId : NativeCommandFailed Με διπλό κλικ μου εμφανίζει το παρακάτω μήνυμα: Το σύστημα μου: Windows 11 Pro | 21H2 | 22000.795 | 64-bit operating system, x64-based processor Έκανα εγκατάσταση του compiler σύμφωνα με τις οδηγίες του freecodecamp
drunkdonkey Δημοσ. 23 Ιουλίου 2022 Δημοσ. 23 Ιουλίου 2022 Δεν υπάρχει λόγος να κάθεσαι να παιδεύεσαι με C, ειδικά εφόσον δεν το κατέχεις τόσο. Με ένα απλό python script κάνεις τη δουλεία σου σε 10 γραμμές, με μια αναζήτηση στο νετ θα βρείς αρκετά παραδείγματα. 1
Λύση n3a Δημοσ. 24 Ιουλίου 2022 Λύση Δημοσ. 24 Ιουλίου 2022 Γιατί χρησιμοποιείς το "-c" option? Αν γράψεις: gcc foo.c -o bar το εκτελέσιμο που δημιουργείται τρέχει;
manolis940 Δημοσ. 24 Ιουλίου 2022 Μέλος Δημοσ. 24 Ιουλίου 2022 Στις 24/7/2022 στις 12:01 ΜΜ, n3a είπε Γιατί χρησιμοποιείς το "-c" option? Αν γράψεις: gcc foo.c -o bar το εκτελέσιμο που δημιουργείται τρέχει; Ναι δουλεύει. Είχα την εντύπωση ότι μια ζωή έτσι έκανα compile και το -c σαν option έβγαινε απ΄ το compile. Μάλλον θυμάμαι λάθος απ' ότι διαβάζω εδώ. Σ' ευχαριστώ για το hint 1
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα