questo è il testo dell'esercizio: Il nome del nuovo file deve essere costruito a partire da quello inserito dall’utente aggiungendo prima dell'estensione del file la stringa "(meta)". Ad esempio: prova.esercizio.txt -->prova.esercizio(meta).txt.
questo il mio codice che funziona se inserisco una stringa che supera i 5 caratteri come nell'esempio e invece se inserisco ad esempio solo prova.txt non va a buon fine..stampa dopo prova e prima di metà caratteri senza senso.prova.txt da me diventa-->prova**(meta).txt. Perché? grazie a che mi potrà dare una mano
codice:#include<stdio.h> #include<stdlib.h> #include<string.h> int main(void){ char nome1[100],nome2[100],temp[50]; int n,i,j=0; printf("inserisci il nome del file\n"); scanf("%s",nome1); n=strlen(nome1)-4; strncpy(nome2,nome1,n); strcat(nome2,".(meta)"); for(i=n;i<=strlen(nome1);i++){ temp[j]=nome1[i]; j++; } strcat(nome2,temp); printf("file creato:%s\n",nome2); system("pause"); return 0; }

Rispondi quotando