Dovrei definire una stringa di caratteri, possibilmente senza limitarne la dimensione, inserendo il testo da tastiera durante l'esecuzione. Successivamente dovrei trovare la lunghezza della stringa, solo dei valori alfabetici, solo dei caratteri maiuscoli, delle cifre decimali, delle spaziature e poi il numero di parole alfabetiche.
Io riesco a definire la stringa sia con scanf che con gets, ma usando la scanf ma calcola la lunghezza della stringa solo fino alla prima spaziatura, mentre con la gets me la misura tutta, tuttavia con i passaggi successivi non riuscivo a procedere correttamente.
Mi era stato proposto un modo usando la scanf, facendo: scanf("%[^\n]s, stringa);
così facendo riuscivo a risolvere la lunghezza della stringa, il numero di caratteri alfabetici e il numero di caratteri maiuscoli; però non riesco a capire che senso ha quella parentesi quadra anche se so che per il resto dello svolgimento che ho usato io è necessario, poiché con solo il %s non fornisce il risultato che dovrebbe.
Come potrei fare ? Cosa significa quel %[^\n]s ? Potreste aiutarmi per favore ?
Grazie in anticipo