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;
}