Salve a tutti, come faccio a copiare in una stringa solo una porzione di un'altra stringa?
Mi spiego meglio: io ho
char filename[20]
in cui copio il nome del file passato come primo parametro da linea di comando.
strcpy(filename, argv[1])
in questo modo filename è della lunghezza effettiva del nome del file passato come argomento (ho controllato con strlen) e non 20.
Dovrei creare un'altra stringa che sia soltanto il nome del file senza l'estensione (se il file è file.exe, la seconda stringa deve essere file). Ho provato con
char temp[10];
strncpy(temp, filename, (size_t)index);
dove index è l'indice all'interno della prima stringa in cui c'è il punto
strncpy dovrebbe copiarmi in temp soltanto i primi "index" caratteri, invece temp contiene il nome del file e un sacco di schifezze.
Come posso fare?