questo è il codice:
codice:
#include <stdio.h>
main(int argc, char *argv[]) {
int c, i;
printf("Insert file name\n");
while((c = getchar())!='.')
putchar(c);
printf("\n");
}
e fa quello che volevo, ossia se gli passo "prima.seconda", restituisce in output "prima"
però io vorrei fare la stessa cosa con la scanf in modo da memorizzare la nuova stringa in un'array di caratteri.
Ho pensato di fare in questo modo
codice:
#include <stdio.h>
main(int argc, char *argv[]) {
int c, i;
char str[128];
printf("Insert file name\n");
while((c = getchar())!='.')
putchar(c);
printf("\n");
scanf("%s", str);
printf("\nNew string: %s\n", str);
}
però quello che mi restituisce è la stringa "seconda" cioè tutti i caratteri DOPO il punto. Non capisco come mai. Qualcuno può aiutarmi? Grazie