|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Oct 2000
Messaggi: 637
|
[C] Suggerimento per rinominare argomento argv[]
Salve a tutti,
mi sto perdendo in un bicchiere d'acqua con questa elaborazione da fare con il parametro passato da riga di comando. In pratica devo prendere il nome del file passato da riga di comando, ad es. nomecomando nomefile.ext e creare in vari file che abbiano come nome : nomefile.ext1 nomefile-opt.ext ecc.. In pratica dovrei eliminare gli ultimi quattro caratteri dalla stringa che sta in argv[1] e poi aggiungere delle stringhe predefinite per poi aprire in scrittura i relativi file. In pratica non riesco a trovare la procedura corretta, di solito non uso il C per la manipolazione di stringhe, ma questa volta ci sono costretto... ![]() Mi dareste cortesemente una mano? ![]() ![]() |
![]() |
![]() |
![]() |
#2 |
Moderatore
Iscritto dal: Nov 2003
Messaggi: 16211
|
Vediamo se ricordo a braccio (sono "un po' tanto" arrugginito col C):
- crea un array di tanti char * quanti te ne servono, - fai le malloc opportune, - fai una cosa tipo strncpy(stringa[j],argv[1],strlen(argv[1])-4) per copiarci dentro la prima parte del nome, e - usa strcat(stringa[j],suffisso[j]) per completare correttamente i nuovi nomi.
__________________
Ubuntu è un'antica parola africana che significa "non so configurare Debian" ![]() Scienza e tecnica: Matematica - Fisica - Chimica - Informatica - Software scientifico - Consulti medici REGOLAMENTO DarthMaul = Asus FX505 Ryzen 7 3700U 8GB GeForce GTX 1650 Win10 + Ubuntu |
![]() |
![]() |
![]() |
#3 | |
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Codice:
char *nome = argv[1]; char *est = ""; char *p; if ((p = strrchr (argv[1], '.')) != NULL) { *p = '\0'; est = p+1; }
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
![]() |
![]() |
![]() |
#4 | |
Senior Member
Iscritto dal: Oct 2000
Messaggi: 637
|
Quote:
![]() In effetti sono un pochino (tanto) arruginito anche io con il C.... |
|
![]() |
![]() |
![]() |
#5 | |
Senior Member
Iscritto dal: Oct 2000
Messaggi: 637
|
Quote:
![]() |
|
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Oct 2000
Messaggi: 637
|
Funziona!!!!
![]() ![]() ![]() ![]() Grazie mille!!!!!!!!!!!!! ![]() ![]() ![]() ![]() |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 03:51.