Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
nn so come far funzionzare questo programma qualcuno mi può aiutare? grazie
Codice sorgente - presumibilmente C#
#include<iostream>
usingnamespacestd;
int main(){
char* testo[15];
printf("Benvenuto in un MS-Dos improvvisato \n");
cin >> testo[15];
system(testo[15]);
return main();
}
()
Newbie
Messaggi: Iscritto:
1
Postato alle 18:23
Martedì, 24/01/2012
Tieni conto che se tu avessi anche inizializzato l' array (come avresti dovuto fare)
Codice sorgente - presumibilmente C/C++
char comando[15] = "\0";
Avresti un array di 15 variabili a 8bit, quindi
comando[0] = '\0';
comando[1] = '\0';
.......
comando[14] = '\0';
eseguendo un cin e ipotizzando che l' utente digiti dir C: otterresti:
comando[0] = 'd';
comando[1] = 'i';
comando[2] = 'r';
comando[3] = ' ';
comando[4] = 'C';
comando[5] = ':';
comando[6] = '\0';
............
comando[14] = '\0';
quindi tu facendo system(comando[15]); hai passato una variabile ad 8 bit (char) che non esiste! E se anche esistesse (avessi cambiato char comando[15] in char comando[16]) avresti passato un solo carattere. La soluzione più semplice sarabbe mettere system(*comando); Attenzione che nel caso il comando superi i 15 caratteri non funzionerà ugualmente ed è proprio per questo che ti consiglio (e ti ho consigliato) di utilizzare un dato di tipo string........