Oppure

Loading
28/01/12 22:40
diddo
Salve ragazzi volevo sapere se fosse possibile copiare in c argv[] in una stringa..
Ho provato con:
char str[4];
strcpy(str,argv[1]);
ma il compilatore mi dice: 'warning: passing argument 2 of 'strcpy' makes pointer from integer without a cast'
come posso fare grazie mille!

il programma mi chiede di inserire da linea di comando il parametro cB e io volevo prendere solo la parte in cui c'è la B.
per questo avevo provato a fare:
strcpy(str, argv[1][2]);


però il compilatore mi dava warning.
cosi ho impostato dal main gli argomenti da linea di comando..
int main(int argc, char* argv[])


Alla fine ho provato così e funziona
cat_num=argv[1][2];
        sprintf(str,"%c",cat_num );

così mi ha dato il carattere che mi serviva.
ho allegato il codicce...
poi nel codice ho fatto questo confronto
if((argv[1][1]=='c')&&(argv[2][1]=='m'))

questo perche da linea di comando oltre a -cB ci può essere im modo opzionale -m (quindi la linea può avere -cB -m) io ho provato il confronto cosi da mettere un else se la parte -m non c'è, ma forse non è consentito...:rofl:
Ultima modifica effettuata da diddo 29/01/12 13:15
aaa
28/01/12 23:22
crybot
questo codice:
char str[4];
strcpy(str,argv[1]); 


funziona.

come hai dichiarato il parametro argv?
Ultima modifica effettuata da crybot 28/01/12 23:41
aaa
29/01/12 9:15
nessuno
char str[4];
strcpy(str,argv[1]);

è codice corretto anche se a te serve

char c = argv[1][1];

Comunque, può essere che quel warning sia generato da altre linee di codice ... c'è altro nel tuo programma?

Quale compilatore usi?
Ultima modifica effettuata da nessuno 29/01/12 9:20
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.