[C] creare un nuovo file con percorso diverso

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
gila75
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 2739
Iscrizione: mercoledì 16 gennaio 2013, 17:28
Desktop: ubuntu-2d
Distribuzione: Ubuntu 12.04.2 LTS i686
Località: Airuno(Lecco)

Re: [C] creare un nuovo file con percorso diverso

Messaggio da gila75 »

Non so poi di performance quanto possa essere piu veloce la strcat rispetto alla snprintf
Dicevo così perchè snprintf deve analizzare tutte le specifiche di conversione rispetto a strcat o meglio strncat.
Un po' come printf e puts. Molto più veloce la seconda se si deve solo fare una stampa.
Ma sono solo mie riflessioni da neofita. Personalmente snprintf l'ho usata poco. Anche nel programma per la scansione
delle directory avevo usato strncat.
Avatar utente
vbextreme
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1214
Iscrizione: domenica 12 gennaio 2014, 14:06
Desktop: lxde
Distribuzione: xubuntu 14.10

Re: [C] creare un nuovo file con percorso diverso

Messaggio da vbextreme »

dipende anche da quante stringhe vuoi concatenare, ad esmpio metti il caso di dover salvare un file in ~/dirvariabile/filename con la strcat avrai:

Codice: Seleziona tutto

strcpy(d,pht_home());
strcat(d,"/");
strcat(d,dirvariabile);
strcat(d,"/");
strcat(d,filename);
con la sprintf

Codice: Seleziona tutto

sprintf(d,"%s/%s/%s",pht_homedir(),dirvariabile,filename);
il codice parla chiaro...
per quanto riguarda le performance non saprei, la strcat deve sempre calcolarsi la lunghezza della stringa e copiarsi dentro il nuovo vettore mentre la sprintf deve solo evalutare il format...
prova...
Easy framework per il linguaggio C.
vbextreme hack your life
gila75
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 2739
Iscrizione: mercoledì 16 gennaio 2013, 17:28
Desktop: ubuntu-2d
Distribuzione: Ubuntu 12.04.2 LTS i686
Località: Airuno(Lecco)

Re: [C] creare un nuovo file con percorso diverso

Messaggio da gila75 »

Certo vb, vero anche quello.
Devo abituarmi all'uso. Chissà come mai alcune funzioni tendo a non utilzzarle, antipatia a pelle :D
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 4 ospiti